語法: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。