在JavaScript中删除字符串中的重音符号变音符号

在JavaScript中删除字符串中的重音符号变音符号,第1张

在JavaScript中删除字符串中的重音符号/变音符号

使用ES2015 / ES6 String.Prototype.Normalize(),

const str = "Crème Brulée"str.normalize("NFD").replace(/[u0300-u036f]/g, "")> "Creme Brulee"

这里发生两件事:

  1. normalize()
    根据
    NFD
    Unipre规范形式,将组合的字形分解为简单的字形。在
    è
    Crème
    端起来表示为
    e
    +
    ̀
  2. 现在,使用正则表达式字符类来匹配U + 0300→U + 036F范围,在全局范围内消除变音符号变得微不足道了,Unipre标准将这些变音符号方便地归为组合变音符号 Unipre块。

请参阅评论以进行性能测试。

或者,如果您只想排序

Intl.Collat​​or现在有足够的支持〜85 %,这里也可以使用polyfill,但我尚未对其进行测试。

const c = new Intl.Collator();["creme brulee", "crème brulée", "crame brulai", "crome brouillé","creme brulay", "creme brulfé", "creme bruléa"].sort(c.compare)["crame brulai", "creme brulay", "creme bruléa", "creme brulee","crème brulée", "creme brulfé", "crome brouillé"]["creme brulee", "crème brulée", "crame brulai", "crome brouillé"].sort((a,b) => a>b)["crame brulai", "creme brulee", "crome brouillé", "crème brulée"]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5432180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存