> Как отфильтровать строку, чтобы оставить только буквы с помощью регулярных выражений в JavaScript (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Яндекс

Стек: JavaScript

> Пример ответа

Для фильтрации строки и оставления только букв с помощью регулярных выражений в JavaScript можно использовать метод replace() с шаблоном, который удаляет все не-буквенные символы. Вот пример:

JAVASCRIPT
const originalString = "Hello, World! 123 @#$";
const filteredString = originalString.replace(/[^a-zA-Zа-яА-ЯёЁ]/g, '');
console.log(filteredString); // "HelloWorld"

Объяснение:

  • [^a-zA-Zа-яА-ЯёЁ] - это отрицательный символьный класс, который соответствует любому символу, не являющемуся буквой (латиница, кириллица, включая букву "ё").
  • Флаг g (global) обеспечивает замену всех вхождений, а не только первого.
  • Если нужно оставить только латиницу, используйте [^a-zA-Z], для кириллицы - [^а-яА-ЯёЁ].

Альтернативный подход с использованием match():

JAVASCRIPT
const onlyLetters = originalString.match(/[a-zA-Zа-яА-ЯёЁ]/g)?.join('') || '';

Этот метод возвращает массив букв и объединяет их в строку, но требует обработки случая, когда букв нет.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью