简体   繁体   English

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

[英]How to delete all symbols except cyrillic/latin alphabet from string?

How to delete all symbols except cyrillic/latin alphabet from string?如何从字符串中删除除西里尔字母/拉丁字母以外的所有符号?

str = 'детёныш test test ()&^*'
console.log(str.replace(/[^а-яА-Яa-zA-Z]/gi," "))

result:结果:

дет ныш test test дет ныш test test

Problem : lost symbol 'ё' in standart а-я range (абвгдеёжзийклмнопрстуфхцчшщъыьэюя)问题:在标准 а-я 范围内丢失符号 'ё' (абвгдеёжзийклмнопрстуфхцчшщъыьэюя)

Probably safer to use the unicode block range for Cyrillic :对 Cyrillic使用unicode 块范围可能更安全:

str.replace(/[^a-z\u0400-\u04FF]/gi," ");

Here's a snippet:这是一个片段:

 const str = 'детёныш test test ()&^*' console.log(str.replace(/[^az\Ѐ-\ӿ]/gi, " "))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM