我的csv文件由以LFCL(\ n \ r)结尾的行和一些仅以\ n结尾的错误行组成。我需要用\ 1(或1个空格)替换\ n结果,而不会丢失其他任何字符。到目前为止,我的问题是我不能选择和替换\ n本身,而只能选择和替换\ n物理字符。
我最好的尝试是用[^ \ r] \ n查找。我使用[^ \ r]避免在正确的行末找到\ n。但是,这只会选择\ n之前的字符,任何替换都将删除带有\ n的所选字符。所选字符可以是任何字符。
https://regex101.com/r/yN9wD4/120
开始:
This is a good line [ends with LF and CL]
this is" [ends with LF]
not one [ends with LF]
line [ends with LF and CL]
我的代码[^ \ r] \ n用空格替换会导致:
This is a good line [ends with LF and CL]
This is no one line [ends with LF and CL]
但应提供:
This is a good line [ends with LF and CL]
This is" not one line [ends with LF and CL]
方括号之间的内容是可视化注释,说明行如何结束,LF = \ n和CL = \ r。
[复制标志后编辑]
如果我在记事本++中使用(?<!\r)\n
,我可以找到一些行,但是由于某些原因,NPP也可以使用它来选择某个LF之后的所有行。但是它现在在EditPad Pro中可以使用,可能文件太大NPP处理。谢谢!