delphi:在写入文本文件时替换字符串中的换行符,该字符串由 varchar2 字段(oracle)填充

Den*_* F. 5 delphi replace line-breaks

我在 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;
Run Code Online (Sandbox Code Playgroud)

但现在我想用特定的字符串替换换行符:“{\n}”。我尝试了不同的事情,例如:

strText := AnsiReplaceStr(strText, #13#10, '{\n}');
Run Code Online (Sandbox Code Playgroud)

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

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

"1) Sicherung der Liquidität der Stadt XYZ durch:'#$A'- exakte Buchführung zur Sicherung des korrekten Ausweises der Forderungen / Verbindlichkeiten"

我可以做这样的事情(但我认为,这不是一个好的解决方案):

strText := AnsiReplaceStr(strText, '''#$A''', '{\n}');
Run Code Online (Sandbox Code Playgroud)

你有什么想法?

问候, 丹尼斯

Nin*_*rry 6

使用SysUtils.AdjustLineBreaksfirst 来规范换行符:

strText := AdjustLineBreaks(strText, tlbsCRLF);
strText := AnsiReplaceStr(strText, #13#10, '{\n}');
Run Code Online (Sandbox Code Playgroud)