Сортируйте списки строк прямо в браузере: по русскому алфавиту в обе стороны, по числовому значению, по длине строки, а также перемешивайте или разворачивайте порядок. Кириллица, «ё» и естественный порядок чисел («строка 2» перед «строка 10») учитываются автоматически.
До
После
Алфавитные режимы сравнивают строки по правилам русской locale-сортировки браузера (Intl.Collator): учитывают позицию буквы «ё» так, как это делает браузер, а не переносят её принудительно к «е». Регистр можно учитывать или игнорировать отдельной настройкой. Если Intl.Collator недоступен в очень старом браузере, используется упрощённый резервный алгоритм: он по-прежнему сравнивает числа внутри строк как числа, но сортирует буквы по кодовым точкам, без тонкостей русской collation.
При включённой настройке «естественный порядок чисел» (по умолчанию включена для алфавитных режимов) строки со встроенными числами упорядочиваются по значению числа, а не посимвольно: «строка 2» окажется раньше «строка 10». При отключённой настройке те же строки сравниваются как обычный текст, и «строка 10» окажется раньше «строка 2», потому что «1» меньше «2».
Пустые строки можно удалить, оставить на своих местах (по умолчанию) или собрать в начале либо в конце результата. Опция влияет на все восемь режимов одинаково: непустые строки при этом сортируются, перемешиваются или разворачиваются между собой, а пустые лишь занимают выбранное место.
Сортировка стабильна: если у двух строк одинаковый ключ сравнения — например, одинаковая длина или одинаковое числовое значение — они остаются в том же порядке друг относительно друга, что и во входном списке. Это касается всех детерминированных режимов, включая сортировку по убыванию.
Строка считается числом, только если после удаления пробелов по краям она целиком состоит из числа с точкой или запятой в качестве десятичного разделителя. Строки, которые не прошли эту проверку, помещаются после всех числовых строк — одинаково и при сортировке по возрастанию, и по убыванию, — а между собой сохраняют исходный порядок.
Режим «Перемешать» использует алгоритм Фишера — Йетса, который даёт равномерно случайную перестановку строк, а не смещённый порядок, характерный для наивной сортировки со случайным компаратором. Случайность здесь обычная (Math.random), без криптографических гарантий — этого достаточно для перемешивания списка, но не для генерации секретов.
Вся обработка выполняется локально в браузере: список не отправляется на сервер, не сохраняется инструментом и не передаётся сторонним сервисам. Кнопка скачивания создаёт TXT-файл только на вашем устройстве. Алгоритмы сортировки и перемешивания линейны или линейно-логарифмичны по числу строк, поэтому инструмент справляется со списками от 100 000 строк без зависания страницы.
Положение «ё» определяет русская locale-сортировка браузера через Intl.Collator, а не жёстко заданное правило инструмента. Буква не заменяется на «е» безусловно ни в сравнении, ни тем более в сохранённой строке.
Она не считается числом, так как после trim не совпадает целиком с шаблоном числа, и будет помещена после всех числовых строк.
Нет. Настройки регистра и пробелов влияют только на ключ сравнения. Единственное исключение — удаление пустых строк, если эта опция выбрана явно.
Да, инструмент рассчитан на списки от 100 000 строк или около 5 МБ текста без квадратичных алгоритмов.
Нет, текст остаётся в браузере. Сервер отдаёт только страницу и локальный JavaScript-инструмент.
Другие текстовые инструменты: удаление дубликатов строк, удаление лишних пробелов, конвертер регистра текста, счётчик слов и символов.
Следите за текущими условиями геомагнитной активности в Telegram.
Комментарии (0)
Ещё никто не оставил комментария — вы можете быть первым.
Написать комментарий