使用SAS中另一个变量的部分字符串创建新变量
我是SAS新手,希望保留连字符“-”之前的内容以创建新变量:使用SAS中另一个变量的部分字符串创建新变量,sas,substr,Sas,Substr,我是SAS新手,希望保留连字符“-”之前的内容以创建新变量: x abc-something efgh-everything hij-something 我试过: DATA NEW set OLD; y = (compress(substr([x], 3, 1)); RUN; PROC PRINT DATA = NEW; RUN; 要使其看起来像这样但不起作用: x abc efgh hij 尝试不使用方括号。也不需要压缩。尝试不使用方括号。压缩也不是必需的。
x
abc-something
efgh-everything
hij-something
我试过:
DATA NEW
set OLD;
y = (compress(substr([x], 3, 1));
RUN;
PROC PRINT DATA = NEW;
RUN;
要使其看起来像这样但不起作用:
x
abc
efgh
hij
尝试不使用方括号。也不需要压缩。尝试不使用方括号。压缩也不是必需的。使用
scan()
函数根据分隔符字符拆分字符串
当然,如果只想输入前三个字符,则使用SUBSTR()函数
y=substr(x,1,3);
使用scan()
函数根据分隔符字符拆分字符串
当然,如果只想输入前三个字符,则使用SUBSTR()函数
y=substr(x,1,3);
你好抱歉,我更新了我的示例。因此,如果长度不同,我使用的方法不会捕获连字符前面的所有内容。我想找到一个解决方案,在连字符出现之前抓住所有东西。嗨!抱歉,我更新了我的示例。因此,如果长度不同,我使用的方法不会捕获连字符前面的所有内容。我正试图找到一个解决方案,在连字符之前抓住一切。