用方括号替换字符串

时间:2018-09-24 06:42:44

标签: javascript replace

我想替换包含'?'的字符串和'[text]'。我尝试了所有选项,但是没有用。这些是特殊字符。我们如何处理这些问题。

src = src.replace('text=?', 'textNew=?');
src = src.replace('[text]', 'textNew');

2 个答案:

答案 0 :(得分:0)

使用RegExp对象的解决方案(正则表达式实现)

var a = "text=?othertext"
var b ="[text]othertext"
var r1= new RegExp("text=\\\?","g");
var r2= new RegExp("\\\[text\\\]","g");

var a_replaced = a.replace(r1,"textNew=?")
var b_replaced = b.replace(r2,"textNew")

?[]是RegExp中的特殊字符。您必须使用三重\来逃避它们。

RegExp调用中的g选项,替换字符串中所有出现的子字符串

https://regex101.com/一种测试正则表达式的服务(适用于各种语言)

https://www.w3schools.com/jsref/jsref_obj_regexp.asp W3C文档

答案 1 :(得分:0)

您可以使用正则表达式替换特殊字符

src = src.replace(/\[text\]/,'textNew');
src = src.replace(/text=\?/,"textNew=?");

此处\用于允许字符串中的特殊字符