Результат
У этой страницы вообще нет серверной части. Вставленная таблица разбирается кодом JavaScript внутри вашего же браузера, график рисуется на элементе canvas на вашей машине, файл экспорта собирается локально. Ничего не загружается, не хранится и не пишется ни в какие логи. После загрузки страницы можно отключить сеть — всё продолжит работать, и это самый простой способ проверить обещание самостоятельно.
Факты и границы применимости
| Удаляемый набор | . , ! ? ; : ' " ( ) [ ] { } - – — … « » „ " |
|---|---|
| Остаётся | Буквы (любого алфавита), цифры 0-9, пробелы, переносы строк и любые прочие символы |
| Слэши и звёздочки | / \ * # & % вне удаляемого набора — не трогаются |
| Знаки валют и математические символы | $ € ₽ + = вне удаляемого набора — не трогаются |
| Опция схлопывания | Включена по умолчанию; сводит серии из 2+ пробелов к одному и обрезает края |
| Обработка | Выполняется локально в браузере, ничего не отправляется на сервер |
Когда этот метод вводит в заблуждение
- Удаляемый набор фиксирован: . , ! ? ; : ' " ( ) [ ] { } - – — … « » „ " — включая прямые и парные кавычки, три варианта тире (дефис, среднее тире, длинное тире) и символ многоточия. Знаки вне этого набора — слэши, звёздочки, амперсанды, собаки, хэштеги, знаки валют и математические символы — остаются полностью нетронутыми.
- Дефис входит в удаляемый набор, поэтому слова через дефис теряют дефис вместе с точками в конце предложений: «интернет-магазин» превращается в «интернетмагазин», сливая то, что визуально было двумя разными словами, в одно. Убрать пунктуацию предложения, не затронув дефисы, невозможно, поскольку оба используют один и тот же символ.
- При выключенной опции схлопывания каждый удалённый знак оставляет пробел точно на своём месте: «Погоди — правда?!» превращается в «Погоди правда» с двойным пробелом на месте длинного тире и следующих символов. При включённой опции это сводится к одному пробелу, но только для обычных пробелов — удалённый знак, за которым шёл перенос строки, а не пробел, схлопывается иначе.
- Десятичные числа и сокращения затрагиваются так же, как пунктуация предложения: «3.14» теряет точку и превращается в «314», а «т.д.» превращается в «тд» — у инструмента нет способа отличить значимую точку от точки в конце предложения.
Как это считается
Инструмент задаёт фиксированный набор пунктуации регулярным выражением: /[.,!?;:'"()\[\]{}\-–—…«»„"]/g, сначала считает все совпадения в исходном тексте, а затем прогоняет то же выражение для замены на пустую строку.
Набор охватывает стандартную пунктуацию предложений (точка, запятая, восклицательный, вопросительный знак), парные знаки (круглые, квадратные, фигурные скобки), кавычки (прямые и парные одинарные/двойные, кавычки-ёлочки) и три символа семейства тире (дефис-минус, среднее тире, длинное тире) плюс символ многоточия.
Если отмечена опция «схлопывать лишние пробелы», следом выполняется второй проход: любая серия из двух и более обычных пробелов сводится к одному, а начальные и конечные пробелы всего результата обрезаются.
«Удалено знаков» — это прямой подсчёт совпадений с набором пунктуации в исходном тексте, выполненный до удаления или схлопывания.
Вопросы и ответы
Что именно здесь считается пунктуацией?
Фиксированный набор: точки, запятые, восклицательные и вопросительные знаки, одинарные и двойные кавычки (прямые и парные), круглые, квадратные и фигурные скобки, три варианта тире и кавычки-ёлочки/многоточие. Символы вроде /, *, &, # или $ не входят в этот набор и остаются нетронутыми.
Ломает ли это слова через дефис?
Да — дефис входит в удаляемый набор, поэтому «интернет-магазин» превращается в «интернетмагазин». Пока нет способа убрать пунктуацию предложения, сохранив дефисы, поскольку инструмент трактует все символы семейства тире одинаково.
Что делает опция схлопывания?
Она включена по умолчанию. После удаления пунктуации она сводит любую серию из 2 и более пробелов к одному пробелу и обрезает начало/конец результата, убирая промежутки, оставшиеся на месте знаков.
Затрагивает ли это десятичные точки или сокращения?
Да, поскольку точки входят в удаляемый набор. «3.14» превращается в «314», а «т.д.» — в «тд» — инструмент не может отличить их от точек в конце предложений.
Мой текст куда-то отправляется?
Нет. Вся операция выполняется в вашем браузере, текст никуда не передаётся.