2016-09-09 76 views
1

我有一個像這樣的字符串:JavaScript的正則表達式替換`「`在標籤

"{"name":"joy","tag":"<img src="/1/1.png"/>hello<img src="/1/2.png">"}" 

我知道如何搭配<>之間的所有字符,但不知道如何更換某些字符...我想與'取代"

+0

所以你怎麼了< and >內的文本相匹配? – epascarello

+0

'/ <.*?>/g'這是好的@epascarello – passion

+0

我不知道這是否可以用一個正則表達式來完成? – passion

回答

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」是更換所有出現

希望它能幫助。

+0

可以這樣做,不能在一個正則表達式中完成嗎? – passion

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'>"}" 
+0

與@S相同。 Garces。 – passion

+0

我簡化了我的json字符串,它包含多對''「''.. – passion

+0

@passion我的意思是一對<<>'; – user3335966