如何使用 .replace() 替换包含按位运算符的字符串部分



我知道你可以使用 str.replace(/something/g, "something else") 来替换特定字符串的所有出现。但是,如果该字符串包含按位运算符,则代码将不再有效。它将 ^ 解释为异或运算符,那么如何解决这个问题呢?您如何指定查找字符串 ^,而不是运算符 ^?

var str = "3^3^3";
var newStr = str.replace(/^/g, "**"); //returns "**3^3^3"
console.log(eval(newStr)); //returns error

期望的结果:

var str = "3^3^3";
var newStr = something... // "3**3**3"
console.log(eval(newStr)); // 762597484987

只需转义起始符号。

/^/g
 ^

var str = "3^3^3";
var newStr = str.replace(/^/g, "**"); //returns "**3^3^3"
console.log(eval(newStr));

最新更新