Блог
Текстовые утилиты

Извлечь цифры из текста

Вставьте текст — и все цифры 0-9 собираются в один результат, буквы, пунктуация и всё остальное отбрасывается. Полезно, чтобы получить «сырые» цифры из отформатированного телефона, кода счёта или серийного номера. Включите «сохранять пробелы», чтобы сохранить промежутки между группами цифр вместо склеивания их в одну непрерывную строку.

Результат

Найдено цифр —

Все вычисления выполняются локально в браузере: разбор, график, экспорт. Если отключите сеть, страница продолжит работать.

Факты и границы применимости

Извлекается Только цифры 0-9
Отбрасывается Буквы, пунктуация, пробелы (если не включено сохранение) и любые прочие символы
keepSpaces выключено (по умолчанию) Все цифры склеиваются в одну непрерывную строку без разделителей
keepSpaces включено Исходные пробелы между группами цифр сохраняются, схлопываются до одиночных, края обрезаются
Полноширинные цифры 0-9 и подобные вне диапазона 0-9 — не извлекаются
Обработка Выполняется локально в браузере, ничего не отправляется на сервер

Когда этот метод вводит в заблуждение

Как это считается

При выключенном «сохранять пробелы» инструмент выполняет text.replace(/\D/g, "") — удаляя каждый символ, не являющийся цифрой, — оставляя одну непрерывную строку из всех найденных цифр в их исходном порядке.

При включённом «сохранять пробелы» инструмент сначала удаляет всё, кроме цифр и пробельных символов, затем схлопывает любую серию оставшихся пробелов до одного и обрезает края — так что группы цифр, изначально разделённые пробелом, остаются визуально разделены, а прочая пунктуация между ними не сохраняется.

В любом случае цифрами считаются только десять ASCII-символов 0-9. Буквы, пунктуация, символы и нецифровые Unicode-формы отбрасываются независимо от настройки пробелов.

«Найдено цифр» считает цифровые символы в итоговом результате — это равно общему числу символов 0-9 в исходном тексте, поскольку цифры никогда не удаляются после совпадения, только перестраиваются относительно пробелов.

Вопросы и ответы

Что именно сохраняет опция «сохранять пробелы»?

Только пробелы — пробельные символы, изначально разделявшие группы цифр. Дефисы, точки, скобки и прочая пунктуация между цифрами всегда отбрасываются, независимо от этой опции.

Можно ли использовать это, чтобы достать номер телефона из предложения?

Да — инструмент извлечёт «сырые» цифры, но уберёт форматирование (дефисы, скобки, знак плюс). При включённом сохранении пробелов сохранится примерная группировка, если в исходнике были пробелы; без него всё склеится в одну строку.

Извлекаются ли полноширинные или верхнеиндексные цифры?

Нет, только обычные ASCII 0-9. Полноширинные цифры (0-9) и формы верхнего/нижнего индекса находятся вне этого набора и отбрасываются, а не извлекаются.

Что происходит с несколькими отдельными числами в тексте?

Без сохранения пробелов они сливаются в одну строку без возможности различить их. При включённом сохранении они остаются разделены там, где в исходном тексте между ними был пробел.

Мой текст куда-то отправляется?

Нет. Вся операция выполняется в вашем браузере, текст никуда не передаётся.

Похожие утилиты

Все утилиты