注意:我使用的是 Delphi 7。
有没有办法通过换行符拆分字符串?
我想要以下内容:
procedure Split
(const Delimiter: Char;
Input: string;
const Strings: TStrings) ;
begin
Assert(Assigned(Strings)) ;
Strings.Clear;
Strings.Delimiter := Delimiter;
Strings.DelimitedText := Input;
end;
var
xMSG:String;
xStr:String;
xStrList:TStrings;
xLineBreak:String;
xHello:String;
xWorld:String;
begin
xLineBreak := AnsiString(#13#10);
xMSG := 'Hello ' + xLineBreak + 'World';
xStrList := TStringList.Create;
Split(xLineBreak,AnsiString(xMSG),xStrList);
xHello := xStrList[0];
xWorld := xStrList[1];
MessageBox(0,PAnsiChar(xHello + xWorld),'Test',0);
end.
最佳答案
是的,这就是 Text
属性的作用。从帮助中引用(文本属性(TStrings)):
由于它将是单衬里,因此您不需要额外的实用程序。
var
xMSG:String;
// xStr:String;
xStrList:TStrings;
// xLineBreak:String;
xHello:String;
xWorld:String;
begin
// xLineBreak := AnsiString(#13#10); // you don't need this, there's sLineBreak
xMSG := 'Hello ' + sLineBreak + 'World';
xStrList := TStringList.Create;
// Split(xLineBreak,AnsiString(xMSG),xStrList);
xStrList.Text := xMSG; // <--
xHello := xStrList[0];
xWorld := xStrList[1];
xStrList.Free;
MessageBox(0,PAnsiChar(xHello + xWorld),'Test',0);
end;