find函数用法详解
语法: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。