所以我有包含以下内容的文本文件:
Harry Potter and the Deathly Hallows###J. K. Rowling###2007
我必须以以下形式将其输出到 FreePascal 程序
J.K.Rowling "Harry Potter and the Deathly Hallows" 2007 year
我知道如何从文件中读取,但我不知道如何使它像 previos 形式
有人能帮我吗?我将非常感谢。
所以我有包含以下内容的文本文件:
Harry Potter and the Deathly Hallows###J. K. Rowling###2007
我必须以以下形式将其输出到 FreePascal 程序
J.K.Rowling "Harry Potter and the Deathly Hallows" 2007 year
我知道如何从文件中读取,但我不知道如何使它像 previos 形式
有人能帮我吗?我将非常感谢。
如果TStringList
在 freepascal 中与在 Delphi 中相同,那么这可以解决问题:
function SortedString( const aString : String) : String;
var
sList : TStringList;
begin
Result := '';
sList := TStringList.Create;
try
sList.LineBreak := '###';
sList.Text := aString;
if (sList.Count = 3) then
begin
Result := sList[1] + ' "' + sList[0] + '" ' + sList[2] + ' year';
end;
finally
sList.Free;
end;
end;
更新,正如@TLama 评论的那样,freepascalTStringList
没有LineBreak
属性。
试试这个(ReplaceStr
在 StrUtils 中使用):
function SortedString(const aString : String) : String;
var
sList : TStringList;
begin
Result := '';
sList := TStringList.Create;
try
sList.Text := ReplaceStr(aString,'###',#13#10);
if (sList.Count = 3) then
begin
Result := sList[1] + ' "' + sList[0] + '" ' + sList[2] + ' year';
end;
finally
sList.Free;
end;
end;