delphi有没有能快速实现在一个字符串中的指定位置以后查找指定字符串,并返回该位置的函数。类似于pos函数,但是pos好象不能达到这个功能。因为我对效率要求比较高,所以自己写代码来实现不太合适。比如"asdf123askdfjqiej123aj345u89kadf123nkadf",
现在需要返回第二个123的位置。

解决方案 »

  1.   

    if pos('1','Edit1.text)=0  then
      begin
     .....
    end;
      

  2.   

    you can use strpos
    首部 function StrPos(const Str1, Str2: PChar): PChar; $[SysUtils.pas
    功能 返回指针字符串Str2在Str1中第一个出现的地址
    说明 没有找到则返回空指针;StrPos('12345', '3') = '345'
    参考 
    例子 Edit3.Text := StrPos(PChar(Edit1.Text), PChar(Edit2.Text));
      

  3.   

    PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;
    Offset为你要开始的位置。其它同POS