假设有字符串abc\dfdsf\sdfsdf\dfdfdf\dsdfs\kksdf我想判断最后一个\是在哪个位置,有没有什么简单一点的方法.

解决方案 »

  1.   

    indexOf('abc\dfdsf\sdfsdf\dfdfdf\dsdfs\kksdf','\');
      

  2.   

    indexOf('abc\dfdsf\sdfsdf\dfdfdf\dsdfs\kksdf','\') = 5;
      

  3.   

    LastDelimiter('\', 'c:\windows\Help');
      

  4.   

    http://kingron.myetang.com首部  function StrRScan(const Str: PChar; Chr: Char): PChar; $[SysUtils.pas
    功能  返回在指针字符串Str搜索字符Chr最后一个出现的地址
    说明  没有找到则返回空指针
    参考  <NULL>
    例子  Edit2.Text := StrRScan(PChar(Edit1.Text), '*');
    ━━━━━━━━━━━━━━━━━━━━━
    首部  function LastDelimiter(const Delimiters, S: string): Integer; $[SysUtils.pas
    功能  返回最后一个分隔符的位置
    说明  LastDelimiter('.', 'kingron.myetang.com') = 16
    参考  function SysUtils.StrScan;function SysUtils.ByteType
    例子  SpinEdit1.Value := LastDelimiter(Edit1.Text, Edit2.Text);
    ━━━━━━━━━━━━━━━━━━━━━  
      

  5.   

    length('abc\dfdsf\sdfsdf\dfdfdf\dsdfs\kksdf')-pos(reverseString('abc\dfdsf\sdfsdf\dfdfdf\dsdfs\kksdf'))+1