我试图找到一个Delphi函数,它会将输入字符串拆分为基于分隔符的字符串数组。我在Google上找到了很多,但都似乎有自己的问题,我没有能够得到任何他们的工作。
我只需要拆分一个字符串就像:
“word:doc,txt,docx”转换为基于’:’的数组。结果会是
[‘word’,’doc,txt,docx’]。
有没有人有一个他们知道的作品的功能?
谢谢
解决方法
您可以使用TStrings.DelimitedText属性拆分字符串
检查此样品
program Project28; {$APPTYPE CONSOLE} uses Classes,SysUtils; procedure Split(Delimiter: Char; Str: string; ListOfStrings: TStrings) ; begin ListOfStrings.Clear; ListOfStrings.Delimiter := Delimiter; ListOfStrings.StrictDelimiter := True; // Requires D2006 or newer. ListOfStrings.DelimitedText := Str; end; var OutPutList: TStringList; begin OutPutList := TStringList.Create; try Split(':','word:doc,txt,docx',OutPutList) ; Writeln(OutPutList.Text); Readln; finally OutPutList.Free; end; end.
更新
有关StrictDelimiter的说明,请参阅此link。