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

BeM*_*com 6 javascript regex character match

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

作为一个例子(stadtbezirkspräsident'应该成为stadtbezirkspräsident.

这个正则表达式应该适用于所有语言,所以它有点棘手,因为我不知道如何匹配像ñ或的字符œ.我尝试解决这个问题

string.replace(/[&\/\\#,+()$~%.'":*?<>-_{}]/g,' ');
Run Code Online (Sandbox Code Playgroud)

但仍然是许多特殊人物,Ø如左.

也许有一个通用的选择器,或者任何人之前已经解决了这个问题?

Ωme*_*ega 6

尝试使用技巧

str.replace(/(?!\w)[\x00-\xC0]/g, '')
Run Code Online (Sandbox Code Playgroud)


Tim*_*ker 6

如果您自己定义了所有Unicode范围,那将会有很多工作要做.

使用XRexExp带有Unicode附加组件的 Steven Levithan 软件包并利用其Unicode属性快捷方式可能更有意义:

var regex = new XRegExp("\\P{L}+", "g")
string = XRegExp.replace(string, regex, "")
Run Code Online (Sandbox Code Playgroud)