全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9500 5
2013-04-03
请问,如何去除字符内括号内的内容(也去除括号),例如,字符窜:

GABELLI(PRIOR);BOFAMERRILLLYN(PRIOR)

想把两个(PRIOR)都去除,留下GABELLI;BOFAMERRILLLYN,而括号在字符串中的位置和个数均无法确定,请教各位达人,sas中如何实现?
二维码

扫码加我 拉你入群

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

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

全部回复
2013-4-3 17:22:18
如果括号成对出现,并且左括号在前:

data test;
    str="GABELLI(PRIOR);BOFAMERRILLLYN(PRIOR)";
    do while(index(str,"("));
           loc_left=index(str,"(");
           loc_right=index(str,")");
           str=substr(str,1,loc_left-1)||substr(str,loc_right+1);
        end;
run;
二维码

扫码加我 拉你入群

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

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

2013-4-3 17:30:47
方法一:

复制代码

方法二:

复制代码

方法二是正则表达式,匹配可能好些,但效率相对低点。定义a、b长度时,根据你的字符串长度进行修改。

二维码

扫码加我 拉你入群

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

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

2013-4-3 18:12:55
zhengbo8 发表于 2013-4-3 17:30
方法一:
1.可以不需要做循环的。
2.程序通用性稍微差一点。

二维码

扫码加我 拉你入群

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

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

2013-4-4 17:10:37
pobel 发表于 2013-4-3 17:22
如果括号成对出现,并且左括号在前:

data test;
多谢楼上~~
二维码

扫码加我 拉你入群

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

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

2013-4-4 17:11:14
zhengbo8 发表于 2013-4-3 17:30
方法一:
多谢解答~~
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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