我想只用“ New York”代替“ New York(1224)”之类的文本。

我有var name = $(this).text().replace(' ()','')

它将“ New York()”替换为“ New York”。但是,如何像示例中那样使用正则表达式来处理数字呢?

最佳答案

删除所有内容并用括号括起来

如果您对数字不是特别感兴趣

\s*\([^)]*\)\s*$


将帮助您定位括号()中包含的所有内容并修剪一些空格,从而删除突出显示的部分,例如:

https://regex101.com/r/GyOc5X/1

javascript - 替换为javascript和regex-LMLPHP

删除数字和括号

否则,如果您只对括号中的数字和空白修饰感兴趣,请执行以下操作:

\s*\(\d+\)\s*$


https://regex101.com/r/GyOc5X/2

javascript - 替换为javascript和regex-LMLPHP

var name = $(this).text().replace(/\s*\(\d+\)\s*$/, "");   //New York


附言:


如果您还想从上面定位特定的What ()情况,而不仅仅是将\d+替换为\d*,例如:
\s*\(\d*\)\s*$
如果您对字符串结尾比较灵活(意味着匹配后您有更多文本),而不是简单地删除最后一个$

关于javascript - 替换为javascript和regex,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43597554/

10-12 20:16