如何替换文本文件中两个引号之间的所有输入.第一个引号始终以制表符开头,或者它是行中的第一个字符(csv文件).我尝试了以下正则表达式
/(\t"|^")([^"]*)(\n)([^"]*")/gm
但是这个正则表达式只匹配两个引号之间的第一个输入,而不是全部.
例如,以下文字:
xx "xx xx xx" xx "xx" xx xx "xxx xxx xx"
应该成为
xx "xx xx xx" xx "xx" xx xx "xxx xxx xx"
我看了以下帖子(
javascript regex replace spaces between brackets)非常相似,但正则表达式建议我的情况不可用.
解决方法
用Javascript替换你可以
use a function as replacement.
var str = 'foo \n"a\n" bar\n'; str = str.replace(/"[^"]+"/g,function(m) { return m.replace(/\n/g,' '); }); console.log(str);
正则表达式"[^"]+"
将匹配引用的东西与其间的一个或多个non引号.
根据需要添加选项卡或条件等条件:(?:\t|^)"[^"]+"