[英]replace string with square brackets
我想替换包含 '?' 的字符串和“[文本]”。 我尝试了所有选项,但没有奏效。 那些是特殊字符。 我们如何处理这些。
src = src.replace('text=?', 'textNew=?');
src = src.replace('[text]', 'textNew');
使用 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/测试正则表达式的服务(适用于多种语言)
您可以使用正则表达式替换特殊字符
src = src.replace(/\[text\]/,'textNew');
src = src.replace(/text=\?/,"textNew=?");
这里\\用于允许字符串中的特殊字符
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.