我有一個像這樣的字符串:JavaScript的正則表達式替換`「`在標籤
"{"name":"joy","tag":"<img src="/1/1.png"/>hello<img src="/1/2.png">"}"
我知道如何搭配<>
之間的所有字符,但不知道如何更換某些字符...我想與'
取代"
。
我有一個像這樣的字符串:JavaScript的正則表達式替換`「`在標籤
"{"name":"joy","tag":"<img src="/1/1.png"/>hello<img src="/1/2.png">"}"
我知道如何搭配<>
之間的所有字符,但不知道如何更換某些字符...我想與'
取代"
。
,你可以這樣做
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」是更換所有出現
希望它能幫助。
可以這樣做,不能在一個正則表達式中完成嗎? – passion
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'>"}"
與@S相同。 Garces。 – passion
我簡化了我的json字符串,它包含多對''「''.. – passion
@passion我的意思是一對<<>'; – user3335966
所以你怎麼了< and >內的文本相匹配? – epascarello
'/ <.*?>/g'這是好的@epascarello – passion
我不知道這是否可以用一個正則表達式來完成? – passion