Javascript替换单引号

时间:2014-01-14 09:26:50

标签: javascript regex

我有一个字符串
'ABC':"sharath\'"

我想改为
"ABC":"sharath\'"

但是每当我想用双引号替换外部单引号时,它也会取代内部单引号。

var data = "'ABC':\"sharath\\'\"";
var data1 = data.replace(/\'/g,'\"');

你有什么决议可以为此建议吗?

3 个答案:

答案 0 :(得分:2)

试试这个,但它不适用于多个转义字符

var data = "'ABC':\"sharath\\'\"";
data.replace(/([^\\]|^)\'/g,'$1\"')

答案 1 :(得分:0)

不知道这是否对你有所帮助,因为它有点脏,但是:

strSplitted = "'ABC':'sharath'".split(":");
newStr = strSplitted[0].replace(/(\')/g, "\"") + ":" + strSplitted[1];

答案 2 :(得分:0)

根据我的理解,你想要替换单引号,除非它们在双引号内。

s = " 'replace' : \" \'keep\' \" 'replace' \" '' keep '' \" ..."
> " 'replace' : " 'keep' " 'replace' " '' keep '' " ..."

s.replace(/'(?=([^"]*"[^"]*")*[^"]*$)/g, '"')
> " "replace" : " 'keep' " "replace" " '' keep '' " ..."

more about this