【发布时间】:2018-04-15 22:20:39
【问题描述】:
我有以下带有 2 个观察值的临时数据集。
第二个观察包含一个尾随空白。在data _null_ 步骤中,我使用call symput 从第二个观察中读取值。
在put 语句中,值被写入日志中,有 6 个空格:TEXT=Test controltext。
如何实现打印TEXT=Test controltext?在临时数据集中,一些观察结果带有尾随空白,有些则没有。所以不知道后面有没有空格...
data temp;
a="MyTesttext";
output;
a="Test ";
output;
run;
data _null_;
set temp;
if _n_ = 2 then do;
call symput('text',a);
end;
run;
%put &=text.controltext;
【问题讨论】:
-
变量 A 中的“Test”后面有六个尾随空格,因为变量 A 的长度为 10。您的目标是在宏变量 &text 的值中保留一个尾随空格吗?跨度>
-
正确,我想保留写入变量 a 的尾随空白。
-
在另一条评论中你说如果有两个尾随空格,你想保留它们。在这种情况下,有 6 个尾随空格而不是一个。但你只想保留一个?如果分配给 A 的值是“文本”,你想保留两个空格吗?由于 A="text" 和 A="text" 都有六个尾随空格,因此您无法区分它们。
-
我想保留
temp字符串中给出的空格。在上面的例子中,有一个空格。如果有 2 个或更多空白,我想保留这些空白。