我正在处理包含英文和中文字符的字符串。 我想挑出每个英语单词非英语字符,例如法语、中文等,数字特殊字符,例如“@#$%^&>?”以便进一步操作。

所以我累了

var nregex = /[^\u0000-\u007F]|[a-z]+|\d|[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/ig 

它适用于大多数情况,但我担心一些特殊字符或表情符号未包含在我的代码列表中。

除了像我一样列出所有特殊字符之外,还有更简单的方法吗?

请您参考如下方法:

这不是完美的解决方案,您可能需要对其进行调整,但适用于给定的示例:

string2 = "I love you 我爱你" 
englishChars = string2.replace(/[^a-z ]/ig, "").trim().split(/\s+/); 
nonEnglishChars = string2.replace(/[a-z ]/ig, "").split(/[ ]*/); 
final = englishChars.concat(nonEnglishChars); 
console.log(final);


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!