我有以下代码替换
var temp = "^hall^,^restaurant^";
temp.replace(/^/g, '');
console.log(temp);
这不会将^符号替换为字符串。这怎么可能不起作用?
答案 0 :(得分:1)
temp = temp.replace(/\^/g, '');
一旦你逃脱了插入符号,它就会被取代。
https://jsfiddle.net/ym7tt1L8/
请注意,只写temp.replace(/\^/g, '');
不会更新您的实际字符串。这就是你必须写的原因
temp = temp.replace(/\^/g, '');
答案 1 :(得分:1)
在RegEx中,插入符号被识别为特殊字符。它表示字符串的开头。
此外,替换返回新值,它不会执行适当的操作,您需要创建一个新变量。
对于您的情况,您必须执行以下操作之一:
var temp = "^hall^,^restaurant^";
var newString = temp.replace(/\^/g, ''); // Escape the caret
或者直接替换角色而不使用RegEx:
var temp = "^hall^,^restaurant^";
while (temp.indexOf('^') >= 0) {
temp = temp.replace('^', '');
}
替代版本:
var temp = "^hall^,^restaurant^";
var newString = temp.split('^').join('');