全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3873 5
2012-11-13
数据如下(举一例):
data a;
input  x $100;
cards;
提问人ip及地区:[218.75.157.10、湖南省常德市]<br>国外登录地区   &nbsp;&nbsp;常登陆地区:湖南-常德市、湖南-常德市
;
run;
现在想要提取[]里面的为变量y,注[]的字符串是不定长的,
<br>后第一个分号前的字符串为变量z ,z也是不定长的,
常登入地区:后的字符串为变量u,u也是不定长的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-11-13 22:01:29
Perl Regular Expressions 应该能解决这个问题
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-14 09:28:39
yuerqieqie 发表于 2012-11-13 22:01
Perl Regular Expressions 应该能解决这个问题
能否具体点!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-14 09:33:04
data a;
input  x $1-150;
cards4;;;;
提问人ip及地区:[218.75.157.10、湖南省常德市]<br>国外登录地区   &nbsp;&nbsp;常登陆地区:湖南-常德市、湖南-常德市
;;;;
run;

data b;
set a;
if _n_=1 then do;
retain id id1 id2;
id=prxparse("/\[[\d\D]{0,}\]/");
id1=prxparse("/<br>[\d\D]{0,}\;/");
id2=prxparse("/常登陆地区:[\d\D]{0,}/");
end;
call prxsubstr(id,x,start,len);
x1=substr(x,start,len);
x1=compress(x1,'[]');
call prxsubstr(id1,x,start1,len1);
x2=substr(x,start1,len1);
x2=tranwrd(scan(x2,1,';'),"<br>","");
call prxsubstr(id2,x,start2,len2);
x3=substr(x,start2,len2);
x3=tranwrd(x3,"常登陆地区:","");
drop id: start: len:;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-14 21:44:49
xulimei1986 发表于 2012-11-14 09:28
能否具体点!
我的SAS不能识别中文。但楼上的那位兄弟已经回答了你的问题。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-19 09:40:30
yuerqieqie 发表于 2012-11-14 21:44
我的SAS不能识别中文。但楼上的那位兄弟已经回答了你的问题。
还是要谢谢你!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群