【发布时间】:2018-04-27 09:15:43
【问题描述】:
我有一个 csv 文件,其中每条记录都是一行。问题是有时一个单元格的行数很少。例如:
first;second;third;something something something something;four
first;second;third;something
something
something something;four
我在 Notepad++ 中打开它,我看到记录的末尾有 LF 白色标签,而单元格中的新行有 CR 白色标签。
如何删除此 CR 白色标签?转换后我想拥有:
first;second;third;something something something something;four
first;second;third;something something something something;four
【问题讨论】:
-
您的描述表明该文件根本不应该有任何
CRs。因此,如果这是您需要做的一次性修复,请使用 Notepad++ 在扩展搜索模式下搜索\r并替换为空(或文件中缺少的空格。如果此问题再次发生,您应该更正问题的根源。如果您想在程序中以编程方式解决此问题,请扫描数据并删除所有CRs -
谢谢 - 我应该如何找到 CR? StringReplace(MyString, ????, '');
-
您确定这些 CR 不是内容的一部分吗?也许这些列包含多行字符串。
-
@Zhorov 不,CR 是 #13,而不是 #10。使用您的代码,他将删除 LF。 s := StringReplace(s, #13, '', [rfReplaceAll]) 将删除 CR。
-
@dummzeuch 对不起,我的错误。当然 CR 是 #13,所以 s := StringReplace(s, #13, '', [rfReplaceAll])。感谢您的评论。
标签: csv delphi pascal lazarus freepascal