我有一个超过 18000 行的 csv 文件(列分隔符为“<;>”,文本分隔符是双引号,行分隔符为“crlf”。
但是,文本分隔符中包含的许多数据确实包含“crlf”,这会在尝试导入或验证文件结构以及其他结构时产生问题。
"2"<;>"1305767"<;>"MSCUFH613249 [CRLF] 199PACKAGES"<;>""<;>"Y"[CRLF]
我尝试了以下帖子中的建议,但没有成功。
我能够使用 Notepad++ 通过“查找\替换”删除回车符,并启用“环绕”和“扩展”选项。但是,这也会替换行尾的行分隔符。
我想用空格替换任何文本分隔符(“”)内的所有“\r\n”或 CRLF。
谢谢
答案1
这应该有帮助:
\n(?!")|\r(?!")|\r\n(?!")
答案2
您可以使用以下正则表达式搜索和替换:
在...
[CRLF]
内搜索并替换一个简单的空格:"
"
寻找:
"([^"]*)\r\n([^"]*)"
代替:
"$1 $2"
<;>
如果需要,可以使用适当的分隔符进行搜索和替换,例如,
:寻找:
<;>
代替:
,
例子:
输入:
"2"<;>"1305767"<;>"MSCUFH613249
199PACKAGES"<;>""<;>"Y"
输出:
步骤 1 之后:
"2"<;>"1305767"<;>"MSCUFH613249 199PACKAGES<;>""<;>"Y"
步骤2之后:
"2","1305767","MSCUFH613249 199PACKAGES,"","Y"