因为Delphi中并没有自带的分拆字符串的函数,但实际编程中又经常会用到。在网上找了一段代码,在使用中发现有Bug,没有考虑到分拆符可能不只一个字符的情况。下面是修改过后的代码(红色部分是修改的代码):
function SplitStr(const Source, Splitter: String):TStringList;
var
temp: String;
i: Integer;
begin
Result := TStringList.Create;
//如果是空自符串则返回空列表
if Source='' then
Exit;
temp := Source;
i := pos(Splitter, Source);
while i <> 0 do
begin
Result.add(copy(temp, 0, i-1));
Delete(temp, 1, i - 1 + Length(Splitter));
i:=pos(Splitter, temp);
end;
Result.add(temp);
end;
本文提供了一个Delphi中用于分拆字符串的函数实现。针对原有代码无法处理多个字符作为分隔符的问题进行了修正,确保了函数在各种情况下的正确运行。
1537

被折叠的 条评论
为什么被折叠?



