连接带引号的宏变量

2023-11-29

我只是想连接两个引用的宏变量,但似乎没有一个简单的方法。

假设我们有:

%LET VAR1="This is not the greatest song in the world";
%LET VAR2="this is just a tribute.";

%LET TRIBUTE=%SYSFUNC(CATX(%STR( ),&VAR1,&VAR2));
%PUT &TRIBUTE;

我其实想要:

  "This is not the greatest song in the world this is just a tribute."

但上面的代码实际上产生:

"This is not the greatest song in the world"  "this is just a tribute."

所以我尝试把%QUOTE(),%BQUOTE,ETC。大约&VAR1 and %VAR2希望揭开引号,但我得到了相同的结果。

唯一对我有用的是:

 %LET TRIBUTE="%SUBSTR(&VAR1.,2,%LENGTH(&VAR1.)-2) %SUBSTR(&VAR2.,2,%LENGTH(&VAR2.)-2)"; 

但这很丑陋,而且很快就会变得很长。 难道没有更好的方法吗?


我将解释乔的“真正答案”,即不要在宏变量中存储引号。宏语言中的单引号和双引号与任何其他字符没有什么不同。您应该做的是推迟引入报价,直到您真正需要它们为止。这将产生更干净、更灵活、更易于阅读且无错误的代码。

Code:

请注意,我已经删除了引号并连接字符串,我只是将它们一个接一个地列出:

%LET VAR1=This is not the greatest song in the world;
%LET VAR2=this is just a tribute.;
%LET TRIBUTE=&VAR1 &VAR2;

实施例1

不需要引号来打印出所需的字符串,因为我们使用的是%put第一个示例中的声明 - 因此我省略了引号:

%PUT &TRIBUTE;

Output :

This is not the greatest song in the world this is just a tribute.

实施例2

需要引号,因为我们现在处于数据步骤领域:

data _null_;
  put "&TRIBUTE";
run;

Output :

This is not the greatest song in the world this is just a tribute.

请注意,这两个示例都假设您实际上不想将引号打印到屏幕上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

连接带引号的宏变量 的相关文章

  • 获取 SAS 表元数据 URI 的通用方法

    我正在构建一个利用表对象的 SAS 元数据 ID 或 URI 的实用程序 当库使用 BASE 引擎时 以下代码可以很好地获取 ID let mylib SOMELIB data output keep uri dataname length
  • Python Dask - 2 个 DataFrame 的垂直串联

    我正在尝试垂直连接两个 Dask DataFrame 我有以下 Dask DataFrame d A B C D E F 1 4 8 1 3 5 6 6 2 2 0 0 9 4 5 0 6 35 0 1 7 10 9 4 0 7 2 6 1
  • 将 pandas 数据帧与 apply(lambda) 的结果连接起来,其中 lambda 返回另一个数据帧

    数据帧在列中存储一些值 将这些值传递给函数 我得到另一个数据帧 我想将返回的数据帧的列连接到原始数据帧 我尝试做类似的事情 i pd concat i i cid id apply lambda x xy x axis 1 axis 1 但
  • 使用 Excel 连接函数

    我正在尝试将 Excel 中三列的数据合并到一列中 例如 我想将 Product Location 和 Key id 合并到一列中 Product Location Key Id Car VA 86421910 Car VA 8642448
  • 如何在Python中连接两个整数?

    如何在Python中连接两个整数 例如 给定10 and 20 我想要一个返回值1020 将两者都转换为字符串 连接字符串 然后将结果转换回整数 z int str x str y
  • sas 宏 & 符号

    let test one let one two put test put test put test put test put test 出色地 我完全被这些 符号打败了 我不明白为什么他们在宏变量之前需要这么多 符号 有什么技巧可以掌握
  • MySQL存储过程变量作为表名连接

    我想在存储过程中执行以下查询而不准备查询 因为这给我带来了 OUT 传回参数的问题 DELIMITER CREATE PROCEDURE Test IN CID BIGINT 20 IN IDs LONGTEXT BEGIN EXECUTE
  • 使用 Proc sql 和 Teradata 在 SAS 中编写高效查询

    编辑 这是一组更完整的代码 它准确地显示了下面的答案所发生的情况 libname output data files jeff let DateStart 01Jan2013 d let DateEnd 01Jun2013 d proc s
  • 在 Oracle 中如何将多行组合成逗号分隔的列表? [复制]

    这个问题在这里已经有答案了 我有一个简单的查询 select from countries 结果如下 country name Albania Andorra Antigua 我想在一行中返回结果 如下所示 Albania Andorra
  • 使用连接字段的 SQL JOIN

    我有两个表 Table1 包含一列 该列构成 Table2 中列的部分值 例如 表1 XName 123456 表2 ZName ABC 123456 我需要创建一个与这些匹配的 JOIN 但是使用 MS SQL 2008 我在完成这项工作
  • Pandas 在读取 SAS 文件时数据类型正确失败

    我有一个SAS数据集 http www principlesofeconometrics com sas cars sas7bdat当我运行它时 我在 SAS 上得到以下输出 我还有以下 Python 代码 它获取 sas7bdat 文件并
  • javascript Array.prototype.push 如何连接

    我已经看到数组的 push 方法用于替换串联 但我不完全确定它是如何工作的 var a 1 2 3 var b 4 5 6 Array prototype push apply a b 它如何就地连接而不是返回一个新数组 apply htt
  • Pandas 在列级别连接数据帧时添加键

    根据 Pandas 0 19 2 文档 我可以提供keys参数来创建结果多索引 DataFrame 一个例子 来自 pandas 文档 是 result pd concat frames keys x y z 我将如何连接数据框以便我可以在
  • SAS 日期格式与 SQL Server 日期不兼容

    我对 SAS 相当陌生 最近我们将一些 SAS 数据集迁移到 SQL Server 表 但我们仍在使用 SAS 进行分析 当 SAS 尝试从 SQL Server 表中引入数据并让 SAS 检查 srv edt 日期是否在 dos beg
  • 从数据变量生成宏变量的宏函数

    data sample input x datalines one two three macro variable to macvar variable dataset proc sql noprint select variable i
  • 使用 loadtxt 简化多个文件的导入 (Python)

    我想简化使用 loadtxt 导入多个文件的方式 我执行以下操作 rc1 loadtxt 20120701 Gp xr 5m txt skiprows 19 rc2 loadtxt 20120702 Gp xr 5m txt skiprow
  • SAS 创建动态间隔

    这有点复杂 至少对我来说是这样 这是我必须做的 假设我有以下数据集 date price volume 02 Sep 40 100 03 Sep 45 200 04 Sep 46 150 05 Sep 43 300 假设我有一个断点 我希望
  • 使用 npm 作为构建工具连接文件

    我最近发现我可以使用 npm 作为任务运行程序 而不是 gulp 或 grunt 到目前为止 一切都很棒 lint stylus jade uglify watch 等 但串联部分 我似乎无法实现 gulp 是这样的 gulp task s
  • 使用 pd.concat() 时,生成的数据框列名称显示在括号中并添加逗号

    我对 Python 编程相当陌生 我不明白为什么会发生这种情况 我正在使用 UCI 机器学习存储库中的 在线购物者购买意图数据集 我将具有数值特征和分类特征的数据分成两个单独的数据框 一个用于cat data 一个用于num data 以虚
  • 如何在 SQL Server 中连接

    我的数据库没有特定的列 因此我通过开关在查询中创建了一个列 我需要的是将此列与数据库中的另一列连接起来 select certificateDuration DurationType case when certificateDuratio

随机推荐

  • 如何解码 BLE 广告数据

    扫描 BLE 设备后 我调用以下方法 void centralManager CBCentralManager central didDiscoverPeripheral CBPeripheral peripheral advertisem
  • 将两个日期之间的所有日期作为颤振日期范围选择器中的列表返回

    我只从 flutter date range picker 中得到两个日期 但我想要两个选定日期之间的日期列表 感谢您的回答 尝试以下操作 List
  • 如何使用同一应用程序查找附近的 iOS 设备(GPS 位置)

    我想创建一个应用程序 允许用户使用登录到同一应用程序的 GPS 坐标查找附近其他用户的位置 它还可以跟踪正在移动的设备 登录到同一应用程序 的位置在车里 有人能给我概述一下如何实现这一目标吗 有没有免费的 API 可以用来完成这个任务 Da
  • 如何将 png 与 alpha/透明度实时加入帧中

    我正在 OpenCV android 2 4 11 的示例下工作 它使用相机检测面部 我没有在找到的脸上画一个矩形 而是尝试在脸上放置一个遮罩 png 图像 但为了在脸上显示图像 png 图像带有黑色背景 其中有透明度 FdActivity
  • “CL.exe”退出,代码为-1073741515

    我使用的是 Windows 7 64 位机器 我下载了 VC 的 Express 版本和 Windows SDK 我需要在 64 位编译器中编译我的代码 编译时 我收到以下错误 CL exe 退出 代码为 1073741515 这个错误是什
  • 键盘覆盖了我视图底部的文本字段

    我已经搜索过 here 仅当键盘覆盖输入字段时向上移动视图 here 当键盘快速出现时移动文本字段 here 当键盘存在时如何使 UITextField 向上移动 和这里 https developer apple com library
  • Zend_Auth 最佳实践

    我的目标是要求某些页面登录 我正在使用 Zend Framework MVC 并且我正在尝试查找有关最佳实践的示例 关于我正在寻找的内容的一些注释 我希望未登录的用户获得登录框 然后在经过身份验证后返回到页面的登录版本 我想使用依赖注入 并
  • 如何将 LPCSTR 字符串转换为 LPCTSTR 字符串?

    我正在尝试转换LPCSTR串入LPCTSTR细绳 我想连接两个字符串 当我尝试这样时 LPCTSTR str1 L Raja LPCSTR str2 Kumar wcscat s str1 LPCTSTR str2 我发现像 Raja 这样
  • Matlab imshow 无法正确绘图,但 imshowpair 可以正确绘图

    我已经导入了图像 我已将其解析为双精度并对其进行了一些过滤 当我绘制结果时imshow 双像太暗 但是当我使用imshowpair绘制原始图像和最终图像 两个图像都正确显示 我尝试过使用uint8 im2uint8 乘以 255 然后使用这
  • 按位置从 data.table 中提取列作为向量

    如何按位置从 data table 中提取列作为向量 以下是我尝试过的一些代码片段 DT lt data table x c 1 2 y c 3 4 z c 5 6 DT x y z 1 1 3 5 2 2 4 6 我想使用列位置获得此输出
  • JAVA EE CDI 范围、EJB 和托管 Bean 序列化

    对作用域 ejb 和托管 bean 有一些疑问 范围 javax enterprise context ApplicationScope javax enterprise context SessionScope 是否仅适用于 EJB 或者
  • 如何在Python中输入矩阵(二维列表)?

    我尝试创建此代码来输入 m n 矩阵 我本来想输入 1 2 3 4 5 6 但代码产生 4 5 6 4 5 6 当我输入其他 m n 矩阵时 也会发生同样的情况 代码会生成一个行相同的 m n 矩阵 也许你可以帮助我找出我的代码有什么问题
  • 不使用 Oracle 客户端的 Python Oracle DB Connect

    我正在尝试用 python 构建一个应用程序 它将使用安装在企业服务器中的 Oracle 数据库 并且我正在开发的应用程序可以在任何本地计算机中使用 是否可以在Python中连接到oracle DB 而无需在存储和执行python应用程序的
  • 访问共享日历(例如通过 Office 365 REST API 访问会议室)

    我正在使用 Office 365 REST api 访问我帐户的日历 我想要访问我的帐户有权访问的所有日历 特别是 Office 365 界面的 其他日历 部分中显示的会议室日历 现在 如果我查询 https outlook office3
  • 如何使用模糊查找来查找SQL中的句子?

    搜索项 网站上的 ISBN 号 变量 列 MySQL表中的句子 它由许多不同的句子组成 我想找的句子是 自动链接功能随 Google 最新的工具栏一起提供 如果在 Amazon com 网站上找到一本书的 ISBN 编号 它会在网页中提供指
  • 使用 Twilio 留下无环语音邮件消息 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我一直在寻找并询问有关此主题的信息 但一无所获 我怀疑这只是数据包数组中的一个命令 任何线索都会有帮助 可以修改调用 REQUEST 数组以注入所需的代码吗 使用 Twilio
  • 实现添加/删除 ListView 项目的撤消/重做操作

    我在尝试在 ListView 控件中实现撤消 重做操作时遇到太多问题 只是为了添加 删除项目 我不久前意识到这里有一个相关问题扩展此类以在列表视图中撤消 重做我开始获得 50 100 200 和 300 点的多重赏金 总共 650 点 但没
  • 将 POST 数据传递到两个 php 文件

    您好 我希望这将是一个简单的解决方案 简单地说 我想做以下事情 1 有一个用户输入数据的表单 estimate html 并提交到validate php 2 从 validate php 检查 POST 数据 如果一切正常 用户按下提交按
  • OpenCV如何在JAVA中用2D数组初始化Mat

    假设我有一个用值初始化的 2D 数组 如何将该值放入 OpenCV 中的 Mat 对象中 也许这样的事情会起作用 float trainingData new float new float 501 10 new float 255 10
  • 连接带引号的宏变量

    我只是想连接两个引用的宏变量 但似乎没有一个简单的方法 假设我们有 LET VAR1 This is not the greatest song in the world LET VAR2 this is just a tribute LE