我有一个 CSV 文件,由于包含换行符的字段而导致导入问题。由于 CSV 导入器将每个换行符视为新行,因此字段中的换行符会造成混乱。
所以我想替换双引号内的每个换行符,同时<br>保留双引号外的“真实”换行符不变。
第一步是能够创建一个正则表达式来获取文本文件中的换行符。
(\n|\r)
Run Code Online (Sandbox Code Playgroud)
但是在这之后我迷路了,因为我在这个表达式中找不到xxx:
(")(xxx)(\n|\r)(xxx)(")
Run Code Online (Sandbox Code Playgroud)
以及让“真正的”换行符保持不变的解决方案。
结论:如何替换字段中的每个换行符,用双引号括起来 <br>
我现在使用 sublime text 来测试正则表达式,但稍后它将在 php 应用程序中使用。
搜索模式:
("[^"\n]*)\r?\n(?!(([^"]*"){2})*[^"]*$)
Run Code Online (Sandbox Code Playgroud)
更换图案:
$1<br>
Run Code Online (Sandbox Code Playgroud)