Раскрытие возможностей JavaScript: как распознавать слова с ударением и без ударения

JavaScript — это универсальный язык программирования, позволяющий разработчикам создавать динамические и интерактивные веб-приложения. В этой статье мы рассмотрим различные методы определения того, содержит ли слово символы с ударением или без него, с помощью JavaScript. Итак, хватайте свой любимый напиток и давайте окунемся в мир распознавания персонажей!

Метод 1: регулярные выражения
Регулярные выражения JavaScript предоставляют мощный способ сопоставления шаблонов внутри строк. Чтобы проверить наличие акцентированных символов, мы можем использовать диапазон символов Юникода. Вот пример:

function hasAccents(word) {
  const regex = /[\u0300-\u036f]/g;
  return regex.test(word);
}
console.log(hasAccents("cliché")); // true
console.log(hasAccents("hello")); // false

Метод 2: String.normalize()
Метод normalize()используется для нормализации строк Юникода. Преобразовав слово в его нормализованную форму, мы можем затем сравнить его с исходным словом, чтобы обнаружить любые изменения, вызванные нормализацией акцента. Взгляните:

function hasAccents(word) {
  const normalized = word.normalize("NFD");
  return normalized !== word;
}
console.log(hasAccents("résumé")); // true
console.log(hasAccents("resume")); // false

Метод 3: сравнение кодов символов
Каждому символу в JavaScript соответствует соответствующее значение в Юникоде. Символы с акцентом обычно имеют более высокие значения в Юникоде, чем их аналоги без акцента. Мы можем использовать этот факт для обнаружения акцентов. Вот пример:

function hasAccents(word) {
  for (let i = 0; i < word.length; i++) {
    if (word.charCodeAt(i) > 127) {
      return true;
    }
  }
  return false;
}
console.log(hasAccents("voilà")); // true
console.log(hasAccents("hello")); // false

В этой статье мы рассмотрели три различных метода обнаружения слов с ударением или без ударения в JavaScript. Используя регулярные выражения, нормализацию строк или сравнение кодов символов, вы можете включить эти методы в свои проекты, чтобы более эффективно обрабатывать символы с диакритическими знаками. Не забудьте выбрать метод, который лучше всего соответствует вашим конкретным требованиям.