我有一个这样的字符串:
"{"name":"joy","tag":"<img src="/1/1.png"/>hello<img src="/1/2.png">"}"
我知道如何匹配<>
之间的所有字符,但不知道如何替换某些字符...我想用"
替换'
。
答案 0 :(得分:1)
var result = "{\"name\":\"joy\",\"tag\":\"<img src=\"/1/1.png\"/>hello<img src=\"/1/2.png\">\"}".replace(/<(.*?)>/g, function(a, b){
return a.replace(/"/g, "'");
});
console.log(result);
这将替换单引号的html元素中的所有引号,'g'将替换所有出现的内容
希望它有所帮助。
答案 1 :(得分:1)
str = '{"name":"joy","tag":"<img src="/1/1.png"/>hello<img src="/1/2.png">"}';
解决方案1 :
res = str.match(/\<[^>]+\>/g);
for(var i = 0, l = res.length; i < l; i++){
str = str.replace(res[i], res[i].replace(/"/g, "'"));
}
解决方案2 :
!!! 此解决方案仅适用于一组""
!!!
res = str.replace(/(\<[^">]*)"([^">]*)"([^>]*\>)/g, "$1'$2'$3");
结果:
"{"name":"joy","tag":"<img src='/1/1.png'/>hello<img src='/1/2.png'>"}"