我想将csv文件导入MS Access。 csv文件作为其中包含换行符的字段。 当我尝试导入文件时,换行符将整个混乱。
我想替换字段中的换行符,而不是定界记录的换行符。
csv文件的定界符为“;”。 文本用双引号'“'
如果我使用Notepad ++打开文件,它看起来像这样:
fieldName1; fieldName2; fieldName3; fieldName4 LF DataNumber1;“ DataText2”;“ DataText3”; DataNumber4 LF 等
“ DataText3”类似于: “姓名:John LF 电子邮件:John@domain.com LF 电话号码:00000000”
如果我可以在“”和“;之间替换 LF 通过诸如“ ###”之类的任何字符集,我将能够导入文件并处理数据。
我试图在\“和”;之间匹配\ n使用
(?=;\"[^\n]+)\n(?=[^\n]+\";)
答案 0 :(得分:0)
此正则表达式应完成工作:
("[^"]*?)\n([^"]*?)\n([^"]*?")
替换为:
\1###\2###\3
测试here。
如果所有字符串中的LF数均相同,则可以针对特定情况调整模式。
如果字符串中LF的数量可能有所不同,则假定字符串中只有1个LF,然后运行替换操作,直到一切正常为止。
答案 1 :(得分:0)
多亏了virolino,答案是:
(;"[^"]*?)\n([^"]*?";)
替换为
\1###