语法:find (string, sub3tring<, modifiers, startpos>),返回substring首次在string中出现的位置,若未找到,则返回0。
其中:
modifier可以是
i|I : 不区分大小写的搜索
t|T : 忽略string和substring中的末尾空格
startpos指定从string的何处开始搜索substring,正值从左至右,负值反向。

data test;
str=\'She seashells.SHE, she does\';
strl=find(str,\'she\');          /*区分大小写,从str第1个字符幵始査找,返回8*/
str2=find(str,\'she\',\'i\');      /*不区分大小写,从str第1个字符开始査找,返回1*/
str3=find(str,\'she \');         /*区分大小写,从str第1个字符开始査找she+空格,返回20*/
str4=find(str,\'she \',\'t\');     /*区分大小写,从3tr第1个字符开始忽珞空格后査找she.返回8*/
str5=find(str,\'she\',12);       /*区分大小写,从str第12个字符开始査找She.返回20*/
str6=find(str,\'she\',-7);       /*区分大小写,从str第7个字符往左査找she,找不到返回0*/
str7=find(str,\'she\',\'i\',-7);   /*不区分大小写,从str第7个字符往左査找she,找到返回1*/    
str8=find(str,\'she\',-17);      /*区分大小写,从str第17个字符往左査找she,找到返回8*/
str9=find(str,\'she\',\'i\',-17);  /*不区分大小写,从str第17个字符往左査找she,找到返回15*/
run;
proc print;
run;

find与index的区别:
index(string1,string2); 在string1中搜索string2,返回string2出现的位置;一般使用index(string1,string2)>0即可说明string1中含有string2。
find(string,substring<,modifiers,startpos>);在变量string中搜索字符串string2;返回该字符串第一次出现的位置,未找到则返回0。

版权声明:本文为huangbiquan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/huangbiquan/p/8007597.html