Результат
Все вычисления выполняются локально в браузере: разбор, график, экспорт. Если отключите сеть, страница продолжит работать.
Факты и границы применимости
| Алфавит | a-z, A-Z — 26 букв английского алфавита в обоих регистрах |
|---|---|
| Диапазон Юникода | U+0041–U+005A и U+0061–U+007A — базовая латиница ASCII |
| Что не считается буквой | Цифры, пробелы, знаки препинания, кириллица, эмодзи |
| Регистр | Заглавные и строчные буквы считаются одинаково, регистр не влияет на счёт |
| Буквы с диакритикой | é, ñ, ü и другие расширенные латинские буквы вне диапазона a-z/A-Z не считаются |
| Скорость | Пересчёт на каждое нажатие клавиши, без задержки и без отправки текста на сервер |
Когда этот метод вводит в заблуждение
- Утилита ищет только базовые латинские буквы по шаблону [a-zA-Z]. Буквы расширенной латиницы с диакритическими знаками — французские é, è, ç, немецкие ä, ö, ü, ß, испанские ñ, á — не попадают в счёт, хотя визуально выглядят как обычные латинские буквы.
- Смешанные слова считаются частично: в «email-адрес» будут посчитаны только буквы «email», а «адрес» уйдёт в кириллическую часть, дефис — в «остальные символы».
- Аббревиатуры и коды на латинице (URL, названия брендов, HTML-теги внутри текста) считаются как обычные буквы наравне со словами естественного языка — утилита не различает контекст.
- Римские числительные (IV, XX, MCM) на самом деле состоят из латинских букв I, V, X, L, C, D, M, поэтому утилита честно засчитывает их как буквы — она не умеет отличать римскую цифру от обычного слова, потому что для регулярного выражения это одни и те же символы.
Как это считается
Текст сравнивается посимвольно с регулярным выражением [a-zA-Z], которое перечисляет 26 букв английского алфавита в нижнем и верхнем регистре. Каждое совпадение увеличивает счётчик на единицу.
Доля латиницы получается делением числа латинских букв на общую длину текста (все символы, включая пробелы и пунктуацию) и умножением на 100.
«Остальные символы» — это всё, что не попало под шаблон латиницы: цифры, знаки препинания, пробелы, кириллица, буквы других алфавитов и эмодзи. Считается как разность общей длины текста и числа латинских букв.
Подсчёт идёт по code point JavaScript-строки, поэтому буквы с диакритикой вне базового диапазона ASCII (например, é как один составной code point) не совпадают с шаблоном [a-zA-Z] и попадают в «остальные символы».
Вопросы и ответы
Считаются ли буквы с диакритикой вроде é или ü?
Нет, шаблон [a-zA-Z] покрывает только базовую латиницу ASCII. Буквы с диакритическими знаками в счёт не попадают и учитываются как «остальные символы».
Учитывается ли регистр буквы?
Нет, заглавные и строчные буквы считаются одинаково — «A» и «a» дают одинаковый вклад в счётчик.
Подходит ли утилита для подсчёта латиницы в смешанном русско-английском тексте?
Да, это одно из основных применений — утилита отделяет латинские буквы от кириллицы, цифр и пунктуации, что удобно для оценки доли англоязычных вставок.
Что попадает в «остальные символы»?
Всё, что не является буквой латинского алфавита: цифры, пробелы, знаки препинания, кириллица, буквы с диакритикой и эмодзи.
Мой текст куда-то отправляется?
Нет. Весь подсчёт выполняется в вашем браузере, текст никуда не передаётся.