我想知道如何在Deplhi 7中拆分包含多个字符的字符串。 我知道如何用一个字符分割字符串:
strlst := TStringList.Create;
strlst.Delimiter := '^';
strlst.DelimitedText := receivedtext;
这就是我可以在Delphi XE7中拆分多个字符的字符串。
strlst := tstringlist.create;
strlst.LineBreak := '<>';
strlst.Text := receivedtext;
但是Delphi 7没有LineBreak
方法。
是否有另一种方法将字符串拆分多个字符?
答案 0 :(得分:1)
您拥有XE7的源代码,因此您可以使用与Delphi 7中相同的方法。它可能如下所示:
procedure SetStringsText(Strings: TStrings; const Text, LineBreak: string);
var
P, Start, LB: PChar;
S: string;
LineBreakLen: Integer;
begin
Strings.BeginUpdate;
try
Strings.Clear;
LineBreakLen := Length(LineBreak);
P := PChar(Text);
while P^ <> #0 do
begin
Start := P;
LB := AnsiStrPos(P, PChar(LineBreak));
while (P^ <> #0) and (P <> LB) do Inc(P);
SetString(S, Start, P - Start);
Strings.Add(S);
if P = LB then
Inc(P, LineBreakLen);
end;
finally
Strings.EndUpdate;
end;
end;