简体   繁体   English

从JavaScript中的字符串中删除括号括号(和)

[英]Remove parenthesis brackets-( and ) from string in JavaScript

I have a string which contains characters ( and ) . 我有一个包含字符()的字符串。 I want to replace those characters with "" . 我想用""替换那些字符。

I tried using 我尝试使用

str.replace(/(|)/g,"")

And

str.replace(/'('|')'/g,"")

But they are not working 但他们没有工作

As the characters ( and ) has special meaning in RegEx( capturing groups ), they need to be escaped by preceding with backslash to match the brackets literally. 由于字符()在RegEx( 捕获组 )具有特殊含义,因此需要通过在其前面加上反斜杠来对其进行转义,以从字面上匹配括号。

str.replace(/\(|\)/g, "")
             ^  ^

 var str = 'Lorem ipsum dolor (sit) amet, consectetur (adipisicing) elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad (minim) veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure (dolor) in reprehenderit in (voluptate) velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in (culpa) qui officia deserunt mollit anim id est laborum.'; str = str.replace(/\\(|\\)/g, ''); document.body.innerHTML = str; 

You can also use parenthesis inside character class [()] , where ( and ) are treated as literals. 您还可以在字符类[()]使用括号,其中()被当作​​文字。

str.replace(/[()]/g, '');

 var str = 'Lorem ipsum dolor (sit) amet, consectetur (adipisicing) elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad (minim) veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure (dolor) in reprehenderit in (voluptate) velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in (culpa) qui officia deserunt mollit anim id est laborum.'; str = str.replace(/[()]/g, ''); console.log(str); document.body.innerHTML = str; 

Because you are using regular expressions the () characters are special characters. 因为您使用的是正则表达式,所以()字符是特殊字符。

You can however, put them in a character group, where they do not need to be escaped. 但是,您可以将它们放在一个字符组中,而无需对其进行转义。

str.replace(/[()]/g,"")

您需要使用\\字符对()字符进行转义,如下所示:

str.replace(/(\(|\))/g, "");

您需要转义()

str.replace(/\(|\)/g,"")

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

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