目前,我在javascript中有一个基本的正则表达式,用于用半冒号替换字符串中的所有空格。字符串中的某些字符包含引号。理想情况下,我想用半冒号代替空格,但引号内的空格除外。
var stringin = "\"james johnson\" joe \"wendy johnson\" tony";
var stringout = stringin.replace(/\s+/g, ":");
alert(stringout);
谢谢
罗宾
最佳答案
尝试这样的事情:
var stringin = "\"james johnson\" joe \"wendy johnson\" tony";
var stringout = stringin.replace(/\s+(?=([^"]*"[^"]*")*[^"]*$)/g, ":");
请注意,当字符串中包含转义的引号时,它将断开:
"ab \" cd" ef "gh ij"