Csv 将字符串更改为仅一行

Csv 将字符串更改为仅一行,csv,delphi,pascal,lazarus,freepascal,Csv,Delphi,Pascal,Lazarus,Freepascal,我有一个csv文件,每个记录都是一行。问题是,有时一个细胞只有很少的细胞株。例如: first;second;third;something something something something;four first;second;third;something something something something;four 我在记事本++中打开了它,我看到记录的末尾有LF白色标记,单元格中的新行有CR白色标记 如何删除此CR白色标签?我希望在转换后: first;sec

我有一个csv文件,每个记录都是一行。问题是,有时一个细胞只有很少的细胞株。例如:

 first;second;third;something something something something;four
 first;second;third;something
 something 
 something something;four
我在记事本++中打开了它,我看到记录的末尾有LF白色标记,单元格中的新行有CR白色标记

如何删除此CR白色标签?我希望在转换后:

first;second;third;something something something something;four
first;second;third;something something something something;four

回答1:前提是您可以唯一地标识要删除换行符的位置

查找:“(行尾的模式1)\r\n”-替换为“\1”

或查找:“(行尾的模式1)\r\n(下一行开头的模式2)\”-替换为“\1\2”

答案2:相反,如果你能确定你想在哪里保留换行符

查找:“(行尾的模式1)”–替换为“\1QAZ”,其中“QAZ”不在文件中的任何位置。继续,直到“QAZ”无处不在

通过查找“\r\n”删除所有新行–替换为零


通过查找“QAZ”还原所需的新行–替换为“\n”-windows Notepad++不需要\r

您的描述表明该文件不应包含任何
CR
s。因此,如果这是您需要执行的一次性修复,请使用记事本++在扩展搜索模式下搜索
\r
,并替换为零(或文件中缺少的空格。如果此问题再次出现,您应该更正问题的根源。如果您想在程序中以编程方式解决此问题,请扫描数据并删除所有
CR
sThanks-我应该如何找到CRs?StringReplace(MyString,??,“”);你确定这些CR不是内容的一部分吗?也许这些列包含多行字符串。@Zhorov不,CR是#13,不是#10。用你的代码他会删除LFs。s:=StringReplace(s,#13,,,[rfReplaceAll])会删除CR。@dummzeuch抱歉,我的错误。CR当然是#13,所以s:=StringReplace(s,#13,,[rfReplaceAll]).谢谢你的评论。