Delphi如何获取一个字符串再另一个字符串中最后一次出现的位置

pos函数是获取第一次出现的位置最后一次出现的位置有没有类似函数?感谢帮助!(最后的17分了,只能发在这个区了,分不多只能说谢谢了)

可以用posex 进行查找
PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;

前两个参数跟pos一样 第三个参数是起始位置,比如你可以从第1个字符开始找 也可以从第十个
写一个递归 如果PosEx>0 就表示当前含有字符串,然后记录这个值,然后再从这个值开始找直到PosEx的值=-1 那么就找到最后一次出现的问题
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-06
//功能:子串在主串第几次出现的位置function PosEx(substring,s:string;times:Integer):Integer;var nCount,nIndex:Integer;begin nCount:=0; while times>0 do begin nIndex:=Pos(substring,s); if nIndex<=0 then break; s:=Copy(s,nIndex+1,Length(s)-nIndex); nCount:=nCount+nIndex; times:=times-1; end; Result:=nCount;end;
第2个回答  2013-04-05
DELPHI的函数很多,被明日科技写入函数大全的就是厚厚一本400多页的书.因此没有多少人去读完它,只是满足于几十个常用函数而已.
pos在找到子串的首次位置后,我一般是采用在这个位置将字符串切断,并再次查找下一个子串位置.