Результат
Все вычисления выполняются локально в браузере: разбор, график, экспорт. Если отключите сеть, страница продолжит работать.
Факты и границы применимости
| Единица сортировки | Отдельные слова, найденные в любом месте текста, независимо от переносов строк |
|---|---|
| Что считается словом | Любая последовательность непробельных символов — прилегающая пунктуация остаётся частью слова |
| Регистр | По умолчанию не учитывается: «Яблоко» и «яблоко» считаются равными |
| Разделитель результата | Пробел, запятая с пробелом или по одному слову на строку — на выбор |
| Повторяющиеся слова | Сохраняются; если слово встречается трижды, оно трижды появится в результате |
| Переносы строк во входе | Не учитываются при сортировке — используются только для отделения слов друг от друга |
Когда этот метод вводит в заблуждение
- Сортируются отдельные слова, а не строки. Если два слова набраны на одной строке, они всё равно считаются отдельными элементами и могут оказаться далеко друг от друга в отсортированном результате — структура строк из входа не сохраняется.
- «Слово» здесь — любая последовательность символов без пробела, поэтому «конец.» и «конец» — разные слова, так как точка прилегает к слову, и они могут оказаться на разных позициях по сравнению с обычным «конец».
- Повторяющиеся слова не объединяются — если «и» встречается в тексте пять раз, в результате оно появится пять раз подряд после сортировки.
- Сортировка использует обычное сравнение по кодовым точкам, а не natural-сортировку чисел — список слов, смешивающий «пункт2» и «пункт10», поставит «пункт10» перед «пункт2», потому что «1» посимвольно меньше «2».
Как это считается
Весь текст, включая переносы строк, сканируется на последовательности непробельных символов с помощью регулярного выражения; каждая такая последовательность становится одним «словом» для сортировки, независимо от того, на какой строке она была.
При включённом регистронезависимом сравнении каждая пара слов приводится к нижнему регистру перед сравнением, поэтому регистр не влияет на позицию слова — порядок определяют только буквы и их последовательность.
Слова сортируются через Array.sort JavaScript с этим компаратором, что даёт единый плоский, упорядоченный по алфавиту список без памяти об исходных переносах строк.
Отсортированные слова снова склеиваются выбранным вами разделителем: одним пробелом, запятой с пробелом или переносом строки между каждым словом.
Вопросы и ответы
Сортируются строки или слова?
Слова. Каждое слово текста извлекается по отдельности и сортируется, независимо от того, на какой строке оно было. Чтобы отсортировать целые строки, используйте сортировку строк.
Что происходит с исходными переносами строк?
Они не сохраняются — результат представляет собой единый упорядоченный список слов, склеенный выбранным разделителем, а не исходную многострочную раскладку.
Удаляются ли повторяющиеся слова?
Нет. Если слово встречается в тексте несколько раз, оно столько же раз появится в отсортированном результате.
Можно получить по одному слову на строку вместо пробелов?
Да — выберите «по одному на строку» в списке разделителя, и результат станет новым списком с одним отсортированным словом на строку.
Мой текст куда-то отправляется?
Нет. Сортировка целиком выполняется в вашем браузере, ничего не отправляется на сервер.