例如:
UNH+1+IFTSTA:D:99B:UN需要截取:IFTSTA即UNH+1+ 开始'  ' 到:号结束的字符,字符长度不固定

解决方案 »

  1.   

    var
        strTemp: String;
    begin
        strTemp := 'UNH+1+IFTSTA:D:99B:UN';
        strTemp := Copy(strTemp, Pos('UNH+1+', strTemp) + 6, Length(strTemp));
        strTemp := Copy(strTemp, 1, Pos(':', strTemp) - 1);
        ShowMessage(strTemp);
    end;
      

  2.   

    var
      Sl:tstringlist;
      i:integer;
    begin
     Sl:=TStringList.Create ;
     try
     Sl.Delimiter :=':';
     Sl.DelimitedText :='UNH+1+IFTSTA:D:99B:UN';
     ShowMessage(copy(Sl.Strings[0],7,length(Sl.Strings[0])));
     except
       FreeAndNil(Sl);
     end;
    end;