TStringList类的字符分割有问题,当字符串中有#0到空格之间的任一字符时,都会被当作分割符,郁闷,另贴一替代函数:
function SplitString(Source, Deli: string ): TStringList;
var
EndOfCurrentString: byte;
StringList:TStringList;
begin
StringList:=TStringList.Create;
while Pos(Deli, Source)>0 do
begin
EndOfCurrentString := Pos(Deli, Source);
StringList.add(Copy(Source, 1, EndOfCurrentString - 1));
Source := Copy(Source, EndOfCurrentString + length(Deli), length(Source) - EndOfCurrentString);
end;
Result := StringList;
StringList.Add(source);
end;
function SplitString(Source, Deli: string ): TStringList;
var
EndOfCurrentString: byte;
StringList:TStringList;
begin
StringList:=TStringList.Create;
while Pos(Deli, Source)>0 do
begin
EndOfCurrentString := Pos(Deli, Source);
StringList.add(Copy(Source, 1, EndOfCurrentString - 1));
Source := Copy(Source, EndOfCurrentString + length(Deli), length(Source) - EndOfCurrentString);
end;
Result := StringList;
StringList.Add(source);
end;
本文提供了一个替代函数SplitString,用于解决TStringList类在处理包含特定字符(如#0到空格间的字符)作为分隔符的问题。该函数通过逐段分割字符串并将其添加到结果列表中,确保了正确地解析所有数据。
2542

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



