有没有一个Delphi函数可以用多字符分隔符而不是单个字符来拆分字符串?
例如,当我以这种方式使用该函数时:
SplitString('Whale<->Mammal<->Ocean', '<->')
我将得到以下3个字符串的结果:
'Whale', 'Mammal', 'Ocean'
在Delphi中有这样的函数吗?
发布于 2013-03-15 16:17:21
使用TStringList还有另一个非常简单的解决方案。更改LineBreak:
procedure TForm208.Button1Click(Sender: TObject);
var
lst: TStringList;
begin
lst := TStringList.Create;
try
lst.LineBreak := '<->';
lst.Text := 'Whale<->Mammal<->Ocean';
Memo1.Lines := lst;
finally
lst.Free;
end;
end;
发布于 2013-03-15 15:51:56
您可以查看属于Cromis Library的我的StringUtils.pas单元
这里有一个简单的文本标记器。但这可能正是你所需要的。界面是这样的
TTextTokenizer = class
private
FTokens: TTokens;
FDelimiters: array of ustring;
public
constructor Create;
procedure Tokenize(const Text: ustring);
procedure AddDelimiters(const Delimiters: array of ustring);
property Tokens: TTokens read FTokens;
end;
支持字符串作为分隔符,也支持多个分隔符。
发布于 2013-03-15 16:38:44
如果您安装了JCL,则在jclStrings
单元中有StrToStrings
过程:
var sl: TStringList;
begin
sl := TStringList.Create;
StrToStrings('Whale<->Mammal<->Ocean' , '<->' , sl);
https://stackoverflow.com/questions/15424293
复制相似问题