sas子字符串到第一个空格

时间:2018-10-02 20:10:13

标签: regex string sas

我正在分析数据。我需要在第一个空格之前从这些字符串中提取所有内容。如何提取所有内容的子字符串,直到第一个空格。我正在使用SAS,并且已经使用PRXMATCH,但是对此并不熟悉。谢谢!

0518Audible adbl.co/bill NJ              01
06257-ELEVEN CHICAGO IL                  Purchase $33.30 Cash Back $10.00
0625#03345 JEWEL CHICAGO IL                         Purchase $58.58 Cash Back $20.00                                             00

所以在我的输出中,我需要:

0518Audible
06257-ELEVEN
0625#03345

然后我只需要提取第一个数字,就可以得到:

0518
06257
0625

任何帮助将不胜感激。非常感谢

不起作用:

TXN_DESCRIPTION_2=prxmatch('/^\d+/', TXN_DESCRIPTION_1);

2 个答案:

答案 0 :(得分:1)

使用prxchange。

Observable()

答案 1 :(得分:1)

SAS有一些简单的字符串处理方法,如果需要,也可以使用:

data have;
length str $500.;
str="0518Audible adbl.co/bill NJ       01";output;
str="06257-ELEVEN CHICAGO IL           Purchase $33.30 Cash Back $10.00";output;
str="0625#03345 JEWEL CHICAGO IL       Purchase $58.58 Cash Back $20.00";output;
run;

data want;
   set have;
   str1=scan(str,1," ");
   str2=substr(str,1,notdigit(str)-1);
run;