全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6423 5
2011-08-13
问题描述:一个字符串中出现多个相同的词,想找出指定个数的单词出现的位置
例如:中国集团公司深圳科技公司东莞分公司
目标:如何求出在该字符串中最后一个“公司”第二个“公司”出现的位置?

多谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2011-8-13 20:39:54
find,index
二维码

扫码加我 拉你入群

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

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

2011-8-14 08:44:59
honghejing 发表于 2011-8-13 20:39
find,index
你好,能不能给个案例。
find怎么处理呢?
二维码

扫码加我 拉你入群

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

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

2012-11-18 15:57:47
试试下面一段代码:
data a;
x="zgjtgsszkjgsdgfgs";
cnt=count(x,"gs");
run;
data _null_;
pos=0;
set a;
cnt=count(x,"gs");
do i=1 to cnt+1;

   pos=find(x,"gs",pos+1);  
   pos_range=pos||"~"||left(pos+1);
   if pos ne 0;
   put pos_range;   
   end;
run;
---------------------------
说明:
1.我用的SAS是盗版的9.1.3,不识别中文字符,没法弄;
2.“zgjtgsszkjgsdgfgs”,这段英文字符中gs串表示公司,你可以试试改为中文字符;
2.中间,变量pos+1,如果是字符“公司”,改为pos+3。
二维码

扫码加我 拉你入群

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

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

2012-11-22 20:14:19
今跑公司,终于下定决心换了个正版的SAS9.2,方便多了,人得与时俱进,呵呵!
----------------------------------------------------
data a;
x="中国集团公司深圳科技公司东莞分公司";
run;
data _null_;
pos=0;
set a;
cnt=count(x,"公司");
do i=1 to cnt+1;
   pos=find(x,"公司",pos+1);  
    pos_range=pos||"~"||left(pos+3);
   if pos ne 0;
    put pos_range;   
    end;
run;
------------------------------
二维码

扫码加我 拉你入群

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

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

2012-12-20 14:11:37
非常感谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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