如何从字符串中删除除西里尔字母/拉丁字母以外的所有符号?

Bdf*_*dfy 1 javascript regex node.js

如何从字符串中删除除西里尔字母/拉丁字母以外的所有符号?

str = '??????? test test ()&^*'
console.log(str.replace(/[^?-??-?a-zA-Z]/gi," "))
Run Code Online (Sandbox Code Playgroud)

结果:

??????测试一下

问题:丢失符号“?” 在标准? -?范围 (?????????????????????????????????)

Rob*_*sen 6

对 Cyrillic使用unicode 块范围可能更安全:

str.replace(/[^a-z\u0400-\u04FF]/gi," ");
Run Code Online (Sandbox Code Playgroud)

这是一个片段:

str.replace(/[^a-z\u0400-\u04FF]/gi," ");
Run Code Online (Sandbox Code Playgroud)