首页 > 解决方案 > 用 JavaScript 中的转义字符替换特定字符串

问题描述

JavaScript


我有一个字符串如下:

#UNICODE#{1f600} #UNICODE#{1f600}

我想用'\u'替换每次出现的'#UNICODE#',所以输出应该是

\u{1f600} \u{1f600}

在 .replace 函数中尝试了许多不同的正则表达式,但没有运气。

('#UNICODE#{1f600} #UNICODE#{1f600}').replace(/#UNICODE#/g,/\u/)
/\u/{1f600}/\u/{1f600}


('#UNICODE#{1f600} #UNICODE#{1f600}').replace(/#UNICODE#/g,\u)
Invalid unicode escape sequence

等等。

有什么好主意吗?提前致谢。

标签: javascriptregexreplace

解决方案


逃脱\\u

let str = '#UNICODE#{1f600} #UNICODE#{1f600}'.replace(/#UNICODE#/g,"\\u")

console.log(str)
str = str.replace(/\\u\{/g,"&#x").replace(/\}/g,";")
console.log(str)
document.getElementById("x").innerHTML = str
<span id="x"></span>


推荐阅读