比如在字符串'C:\WINDOWS\NOTEPAD.EXE'中最后一个'\'的位置是11,用一个什么比较简单的方法能得到?谢谢!!

解决方案 »

  1.   

    从0开始计数,这样计算出来的是10,只需要+1即可
    var
      str: string;
      n : integer;
    begin
      str := 'C:\WINDOWS\NOTEPAD.EXE';
      n := length(str) - pos('\',ReverseString(str));
      showmessage(inttostr(n + 1));
      

  2.   

    楼主的问题应该改成: 怎样才能知道一个字符在一个字符串中最右边的那个的位置啊? 
    function PosReverse(const SubStr, Str: String): Integer;
    var
      i : Integer;
    begin
      Result := 0;
      for i := Length(Str) - Length(SubStr) downto 1 do
      begin
        if copy(Str, i, Length(SubStr)) = SubStr then
        begin
          Result := i;
          break;
        end;
      end;
    end;......
    ShowMessage (IntToStr(PosReverse('\', 'C:\WINDOWS\NOTEPAD.EXE')));
    ......
      

  3.   

    如果有汉字
    转换成widestring