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

解决方案 »

  1.   

    没有,先翻转字符串,再pos();
      

  2.   

    1个笨办法,pos和copy结合  就很容易实现你想要的。、
      

  3.   

    写个函数: uses StrUtils;function ReversePos(SubStr, S: String): Integer;
    var
      i : Integer;
    begin
      i := Pos(ReverseString(SubStr), ReverseString(S));
      if i > 0 then i := Length(S) - i - Length(SubStr) + 2;
      Result := i;
    end;
    调用的例子:  ShowMessage (IntToStr(ReversePos('abc', 'abc123abc456')));
      

  4.   

    //功能:子串在主串第几次出现的位置
    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;
      

  5.   

    LastDelimiter('\','12\67\abc.txt')   = 6;