我有一字符串:123P258UYTP09,其中有2个P字母,我想得到第2个P字母在整个字符串的位置,以及2个P字母之间的子字符"258UYT",请问应该使用哪些字符串才能达到我要的结果?现在我只知道有P字母而已。

解决方案 »

  1.   

    两种方法:第一种要uses StrUtils
    /////////////////
    var
      s: string;
      sl: Tstringlist;
    begin
      s := '123P258UYTP09';
      //第一种方法
      showmessage(copy(s, pos('P', s) + 1, posex('P', s, pos('P', s) + 1) - pos('P', s) - 1));
      //第二种方法
      sl := TStringList.Create;
      ExtractStrings(['P'], [], PChar(s), sl);
      ShowMessage(SL[1]);
      SL.Free;
    end;
      

  2.   

    dulei115() ,
    如果,我想找到在以上字符串中第2个P的位置,应该使用哪一个函数?
      

  3.   

    第2个P的位置
    posex('P', s, pos('P', s) + 1)//uses StrUtils