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

也许我忘记了 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/


慕哥6287543
浏览 126回答 1
1回答

慕莱坞森

您可以使用捕获组并替换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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript