String SAS在变量中保留空格

String SAS在变量中保留空格,string,sas,String,Sas,我有一个观测数据集 信息长度为100美元 information Susan Peter Johny 如果我想要子字符串6 x=子项(信息,1,6) 我需要左空格和右空格,因为我要将它与其他字符串连接起来 例如: stringConcat1 SusanStringConcat2 stringConcat1Peter StringConcat2 stringConcat1Jonhny StringConcat2 我知道如果我有一个长度为空的观测值,但当我使用

我有一个观测数据集

信息长度为100美元

 information
  Susan
 Peter
 Johny 
如果我想要子字符串6

x=子项(信息,1,6)

我需要左空格和右空格,因为我要将它与其他字符串连接起来

例如:

    stringConcat1 SusanStringConcat2
    stringConcat1Peter StringConcat2
    stringConcat1Jonhny StringConcat2
我知道如果我有一个长度为空的观测值,但当我使用循环时,这个长度可能是可变的,我怎么做呢?因为SAS会修剪空白


我尝试了函数subpad(information,1,6),但结果是一样的。

如果将变量连接在一起是您的目标,下面是一些使用函数的代码,可能会帮助您入门

data have;
 Length Var $20;
 Input Var $;
 datalines;
information
Susan
Peter
Johny 
;

Data need;
 Length Concat $5000;
 Retain Concat;
 Set have end=last;

 if _n_=1 then Concat=strip(Var);
 else  Concat=cat(strip(concat),", ",strip(var));

 if last then do;
  put Concat=;
  call symputx('Concat',concat);
 end;
Run;
%Put CONCAT: &concat;