Результат
У этой страницы вообще нет серверной части. Вставленная таблица разбирается кодом JavaScript внутри вашего же браузера, график рисуется на элементе canvas на вашей машине, файл экспорта собирается локально. Ничего не загружается, не хранится и не пишется ни в какие логи. После загрузки страницы можно отключить сеть — всё продолжит работать, и это самый простой способ проверить обещание самостоятельно.
Факты и границы применимости
| Остаётся | Кириллические буквы а-яёА-ЯЁ, латинские a-zA-Z и пробельные символы |
|---|---|
| Удаляется | Цифры, пунктуация, эмодзи, знаки валют и любые прочие небуквенные символы |
| Латиница с диакритикой | é, ñ, ü и подобные вне a-zA-Z — удаляются вместе с остальным |
| Некириллические для русского буквы | і, ї, ў и подобные вне а-яёА-ЯЁ — удаляются вместе с остальным |
| Опция схлопывания | Включена по умолчанию; сводит серии пробелов к одиночным и обрезает края |
| Обработка | Выполняется локально в браузере, ничего не отправляется на сервер |
Когда этот метод вводит в заблуждение
- Оставляемый набор букв — только а-яёА-ЯЁ и a-zA-Z. Латинские буквы с диакритикой (é, ñ, ü) и кириллические буквы вне русского алфавита (і, ї, ў) удаляются вместе с цифрами и пунктуацией, поскольку выходят за пределы этих двух диапазонов — это не универсальный Unicode-фильтр букв.
- При выключенной опции схлопывания каждый удалённый символ оставляет пробел: «Иван Смирнов, возраст 34» превращается в «Иван Смирнов возраст » с точно исходным паттерном пробелов, включая удвоенные пробелы на месте пунктуации. При включённой — они схлопываются в один аккуратный пробел между словами, а края обрезаются.
- Слова через дефис теряют дефис, но обе половины остаются как отдельные слова с пробелом (или без него, в зависимости от настройки схлопывания) между ними: «интернет-магазин» превращается в «интернетмагазин» без схлопывания, либо на результат влияет окружающий паттерн пробелов.
- Адреса электронной почты, URL и коды, смешивающие буквы с цифрами, точками и слэшами, разбиваются на фрагменты — «ivan@example.com» теряет всё, кроме букв, превращаясь в нечитаемую строку вроде «ivanexamplecom» после схлопывания пробелов.
Как это считается
Инструмент прогоняет по тексту одно регулярное выражение /[^а-яёА-ЯЁa-zA-Z\s]/g — символ ^ в начале класса означает «всё, что НЕ является буквой или пробельным символом» — и заменяет каждое совпадение на пустую строку.
Диапазоны букв те же, что и в остальных инструментах сайта: русский кириллический алфавит в обоих регистрах плюс ё/Ё, и 26-буквенный латинский алфавит в обоих регистрах. Пробельные символы (пробелы, табуляции, переносы строк) сохраняются самим шаблоном.
Если опция схлопывания отмечена, следом выполняется второй проход: подряд идущие пробельные символы сводятся к одному пробелу, а пробелы в начале и конце всего результата обрезаются.
«Удалено символов» — это разница между длиной исходного текста и длиной результата после обоих шагов, поэтому при включённой опции она отражает и эффект схлопывания.
Вопросы и ответы
Что именно здесь считается буквой?
Только а-яёА-ЯЁ (русская кириллица) и a-zA-Z (обычная латиница). Латинские буквы с диакритикой и некириллические для русского буквы считаются небуквами и удаляются.
Что делает опция схлопывания?
Она включена по умолчанию. После удаления небукв она сводит любую серию оставшихся пробелов к одному и обрезает начало/конец результата — получаются чистые слова через один пробел вместо пробелов на месте бывшей пунктуации.
Можно ли использовать это, чтобы извлечь только слова из неопрятной строки?
Да, это основной сценарий использования — извлечение читаемых слов из текста, перемешанного с кодами, ценами, пунктуацией или эмодзи, например извлечение имени из «Иван Смирнов, возраст 34 (ID №482)».
Что происходит с цифрами внутри слов, например «товар2»?
Цифра удаляется, а буквы по обе стороны склеиваются напрямую: «товар2описание» превращается в «товарописание» — определить, где раньше была цифра, после удаления невозможно.
Мой текст куда-то отправляется?
Нет. Вся операция выполняется в вашем браузере, текст никуда не передаётся.