繁体   English   中英

用方括号替换字符串

[英]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/测试正则表达式的服务(适用于多种语言)

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

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

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

这里\\用于允许字符串中的特殊字符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM