javascript - 替换所有非单词字符,如 ?*+#

标签 javascript regex character match

我需要一些帮助来替换字符串中的所有非单词字符。

例如 (stadtbezirkspräsident' 应该变成 stadtbezirkspräsident

这个 Regex 应该适用于所有语言,所以它有点棘手,因为我不知道如何匹配 ñœ 这样的字符。我尝试用

解决这个问题
string.replace(/[&\/\\#,+()$~%.'":*?<>-_{}]/g,' ');

但是还有很多特殊字符,比如Ø

也许有一个通用的选择器可以解决这个问题,或者以前有人解决过这个问题?

最佳答案

如果您自己定义了所有 Unicode 范围,工作量会很大。

使用 Steven Levithan 的 XRexExp package with Unicode add-ons 可能更有意义并利用其 Unicode 属性快捷方式:

var regex = new XRegExp("\\P{L}+", "g")
string = XRegExp.replace(string, regex, "")

关于javascript - 替换所有非单词字符,如 ?*+#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209802/

相关文章:

javascript - Typescript 正则表达式扩展方法

r - 在R中将字符串转换为数值

java - CharsetDecoder 无法在 Linux 机器上工作

javascript - 替换 HTML 内容的正则表达式

javascript - 如何随机化整数变量,并出现某些数字的几率

c# - 修复 RegEx 以正确捕获括号内的文本

c# - 用于唯一字符的 HashSet

javascript - jquery 选择器中包含的范围范围

javascript - nicedit 格式未通过 jquery $.get 传递

regex - R 正则表达式(近词)