全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3187 9
2011-08-12
大侠们:
      现有一个去掉连续分割符的问题,是否有SAS函数可以解决?
      问题描述:字段aa的值为“、、、中国、、人民、、、”
      实现目标:使用函数清洗为:“中国、人民”(即去掉头尾连续的顿号,将中间连续的顿号只保留一个)

     提示:貌似正则表达式可以完成,我调试了很久都不正确,哪位大侠能帮忙解决?多谢多谢!

我的QQ:215302868

二维码

扫码加我 拉你入群

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

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

全部回复
2011-8-13 07:12:18
可以先用 translate 把 顿号转化为空格, y=translate(x,' ','、')
然后 y=compbl(y) 把中间的连续空格转为一个
最后转回去 y=translate(strip(y), ‘、',' ')
当然,如果原字符有空格那么可能麻烦点
二维码

扫码加我 拉你入群

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

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

2011-8-13 10:21:25
多谢多谢,楼主厉害!解决了我的问题。
另外还有一个问题,是否能找出字符串中最后一个或者指定出现次数的字符的位置?
例如:深圳科技公司东莞分公司
我想找最后一个“公司”在字符串中出现的位置。
二维码

扫码加我 拉你入群

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

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

2011-8-13 10:25:08
你可以先把字符反过来,再index 司公
二维码

扫码加我 拉你入群

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

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

2011-8-13 17:52:25
找最后一个可以直接用find(var,'公司',-1)
找制定次数的可以用call prxsubstr
x=prxparse('/公司/');
call prxsubstr(x,var,start,length);
二维码

扫码加我 拉你入群

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

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

2011-8-13 18:46:12
汗,更正一下,找指定次数可以用
复制代码
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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