如何从字符串中替换所有中文字符?

时间:2017-08-28 04:02:08

标签: javascript replace

我尝试了以下代码

str = 'Arc's 弧'
str.replace(/[^a-z\d\s]+/gi,'');

结果显示

Arc039s

预期结果

Arc's

代码有什么问题,是删除中文字符的正确方法,包括标点符号?

提前致谢。

1 个答案:

答案 0 :(得分:2)

检查

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's

JavaScriptCore (JSC)