楼主: advil
6174 5

【求助】求字符串中指定次序的字符出现的位置 [推广有奖]

  • 1关注
  • 0粉丝

大专生

1%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
397 点
帖子
40
精华
0
在线时间
31 小时
注册时间
2008-2-28
最后登录
2015-11-7

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
问题描述:一个字符串中出现多个相同的词,想找出指定个数的单词出现的位置
例如:中国集团公司深圳科技公司东莞分公司
目标:如何求出在该字符串中最后一个“公司”第二个“公司”出现的位置?

多谢!
二维码

扫码加我 拉你入群

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

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

关键词:字符串 最后一个 集团公司 深圳科技 分公司 字符串 分公司 东莞 中国 深圳

沙发
honghejing 发表于 2011-8-13 20:39:54 |只看作者 |坛友微信交流群
find,index

使用道具

藤椅
advil 发表于 2011-8-14 08:44:59 |只看作者 |坛友微信交流群
honghejing 发表于 2011-8-13 20:39
find,index
你好,能不能给个案例。
find怎么处理呢?

使用道具

板凳
zhangg 发表于 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。

使用道具

报纸
zhangg 发表于 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;
------------------------------

使用道具

地板
advil 发表于 2012-12-20 14:11:37 |只看作者 |坛友微信交流群
非常感谢!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-21 04:20