如何从分隔文本中获取特定字段

Pau*_*ich 1 delphi string

我有一个分隔文本字符串,即:Value1:Value2:Value3:Value4:Value5:Value6

例如,我将如何提取特定值Ie: Label.caption := GetValuefromDelimitedText(2);获取Value2

提前致谢

保罗

mra*_*bat 6

类似的东西 - 如果你喜欢紧凑的代码(但不像Davids那样高效):

function GetValueFromDelimitedText(const s: string; Separator: char; Index: Integer): string;
var sl : TStringList;
begin
     Result := '';
     sl := TStringList.Create;
     try
        sl.Delimiter := Separator;
        sl.DelimitedText := s;
        if sl.Count > index then 
           Result := sl[index]; 
     finally
            sl.Free;
     end;
end;
Run Code Online (Sandbox Code Playgroud)

希望有所帮助

  • +1,但你应该将`StrictDelimiter`设置为'True`,否则空格也将被解释为分隔符. (2认同)