首页 > 解决方案 > 如何使用 replace() 仅去除非重音字符

问题描述

我只需要删除特殊字符,没有重音等。

代码:


string = 'Matheus /()/-:< > Nascimento'.replace(?)

console.log(string) // Desired return value: Matheus Nascimento

有人可以帮我怎么做吗?

注意:我是初学者。

标签: javascript

解决方案


使用否定字符集匹配除\w\s(仅允许单词字符和空格字符)之外的任何字符;

const string = 'Matheus /()/-:< > Nascimento'.replace(/[^\w\s]+/g, '');
console.log(string);

如果您也想删除重复的空格:

const string = 'Matheus /()/-:< > Nascimento'
  .replace(/[^\w\s]+/g, '')
  .replace(/\s+/g, ' ');
console.log(string);

对于第二个代码,只需将您想要允许的任何字符添加到字符集中:

const string = 'ILUSÃO "CRACOLÂNDIA" - Alok, MC Hariel, MC Davi, MC Ryan SP, Salvador da Rima e Djay W (GR6 Explode)'
  .replace(/[^\w\sÃÂ,]+/g, '')
  .replace(/\s+/g, ' ');
console.log(string);


推荐阅读