我试过下面的代码
str = 'Arc's 弧'
str.replace(/[^a-z\d\s]+/gi,'');
结果展示
Arc039s
预期结果
Arc's
代码有什么问题,这是删除汉字(包括标点符号)的正确方法吗?
提前致谢。
最佳答案
检查这个
var str = "Arc's 弧"
alert (str);
// by your regex
alert (str.replace(/[^a-z\d\s]+/gi,''));
// by new regex which removes non-ascii characters
alert(str.replace(/[^\x00-\x7F]/g, ""));
str.replace(/[^a-z\d\s]+/gi,'')
将删除汉字,但它也会删除 '
所以你的新字符串将是 Arcs
但通过 str.replace(/[^\x00-\x7F]/g, "")
正则表达式它将删除非 ascii 字符和新的字符串将是 Arc 的
。
关于javascript - 如何替换字符串中的所有汉字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45911648/