为了账号安全,请及时绑定邮箱和手机立即绑定

在javascript中使用RegExp对象用一个值替换字符串

在javascript中使用RegExp对象用一个值替换字符串

慕哥6287543 2021-10-14 10:22:22
也许我忘记了 RegExp 是如何工作的,但我尝试用空值替换文本。我有这样的文字:this is a blabla (32332) [XAML]我想删除[]和()。我想使用 RegExp 对象。在 javascript 中,我这样做:var obj = "this is a blabla (32332) [XAML]";var patt1 = "[\(\)\]\[]";var regObj = new RegExp(patt1, "gi");obj = obj.replace(regObj, "");console.log(obj);结果仍然相同,this is a blabla (32332) [XAML]意味着什么都没有被替换。我的错误在哪里?这是小提琴:https : //jsfiddle.net/weak5ub3/
查看完整描述

1 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

您可以使用捕获组并替换

//img1.sycdn.imooc.com//6167947f0001567103620370.jpg

var obj = "this is a blabla (32332) [XAML]";

var patt1 = /\(([^)]*)\)|\[([^\]]*)\]/gi;


obj = obj.replace(patt1, "$1$2");


console.log(obj)

如果您想删除[]并且()无论它们在哪里,它们是否平衡,都可以简单地使用


  [\]()\[]+

Regex Demo


使用 RegExp 对象,\\当您想使用 regexp 对象时,您需要转义特殊字符


var obj = "this is a blabla (32332) [XAML]";

var patt1 = new RegExp("\\(([^)]*)\\)|\\[([^\\]]*)\\]", "gi");


obj = obj.replace(patt1, "$1$2");

console.log(obj)


var pat2 = new RegExp("[\\]()\\[]+", "gi")

var secondObj = obj.replace(pat2, "$1$2")

console.log(secondObj)


查看完整回答
反对 回复 2021-10-14
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信