我正在oracle数据库上执行sql语句,并将结果写入文本文件。名为“目标”(varchar2)的字段具有换行符。

到现在为止,我这样替换换行符:

function CleanText(strText : String) : String;
var
  ii: integer;
begin
  for ii := 1 to Length(strText) do
    if strText[ii] < chr(32) then strText[ii] := ' ';
  end;

  Result := strText;
end;

但是现在我想用特定的字符串替换换行符:“{\n}”。我尝试了不同的事情,例如:
strText := AnsiReplaceStr(strText, #13#10, '{\n}');

但它不起作用。书面文本文件中没有“{\n}”。

我从sql语句中复制粘贴了示例字符串:

“1)XYZ州立法院液体图书馆:'#$ A'-联邦书院(Ausweises der Forderungen)/Verbindlichkeiten”

我可以做这样的事情(但我认为,这不是一个好的解决方案):
strText := AnsiReplaceStr(strText, '''#$A''', '{\n}');

你有什么想法?

问候,
丹尼斯

最佳答案

首先使用SysUtils.AdjustLineBreaks规范换行符:

strText := AdjustLineBreaks(strText, tlbsCRLF);
strText := AnsiReplaceStr(strText, #13#10, '{\n}');

10-08 15:52