我想在我的文字中添加半昏迷后的换行符。
像replace(";",";\n\r")
但是我需要在双引号内排除半昏迷,我怎么能用正则表达式来做呢?
如果是报价,我想要这个替代品:
var="Hello;World";
var="Hello;World";\r\n
而不是这个:
var="Hello;World";
var="Hello;\r\nWorld";\r\n
揍你!
答案 0 :(得分:1)
您可以执行以下操作:
s/;(?=[^"\n]*(?:"[^"\n]*"[^"\n]*)*$)/;\n/gm; # perl synax
如果字符串中没有转义引号,并且字符串不跨越多行。
那就是取代:
;(?=[^"\n]*(?:"[^"\n]*"[^"\n]*)*(?m:$))
与
;\n