Command Palette

Search for a command to run...

Как сортировать строки текста: поясняется алфавитный, естественный и числовой порядок

Как сортировать строки текста: поясняется алфавитный, естественный и числовой порядок

T
Toolz Team
|Sep 19, 2026|13 Мин. читать
Предпочитайте Toolz.dev в Google

Часть коллекции Текстовые инструменты

сортировщик линий

Сортируйте строки текста в алфавитном, числовом или длинном виде, переверните или перемешайте их и удалите дубликаты, пустые строки и пробелы - и все это в вашем браузере.

Используйте сортировщик линий

Сортировка списка звучит как наиболее решенная проблема в вычислениях, пока не вернется результат file10 выше file2, каждое имя с заглавной буквы, сгруппированное вверху, $5 застрял внизу прайс-листа, и & quot;Apple& quot; и & quot;apple& quot; считается как две разные записи.Каждая из них является сортировкой, делающей именно то, что было сказано. беда в том, что & quot; алфавитный порядок& quot; скрывает несколько различных правил, и выбор неправильной дает список, который технически отсортирован и практически бесполезен.

В этом руководстве объясняются правила упорядочения, которые имеют значение для повседневных списков: порядок байтов, алфавитный порядок с учетом местоположения, естественный порядок для встроенных чисел, истинный числовой порядок и порядок длины. Он также охватывает, как этапы очистки, такие как обрезка и удаление дубликатов, взаимодействуют с сортировкой. В обработанных примерах используется Сортировщик строк Toolz, и каждый показанный выход - это то, что производит его код.

TL;DR: Чтобы отсортировать строки текста, вставьте один элемент в строку и выберите режим. Алфавитный в сортировщике строк Toolz зависит от местоположения и естественен, поэтому item2 приходит раньше item10, и Ignore case (включен по умолчанию) сохраняет & quot;Apple& quot; и & quot;apple& quot; вместе. числовой режим заказывает по номеру в начале каждой строки и опускает нечисловые строки в нижнюю часть. Заказы режима длины по количеству символов. очистка выполняется перед сортировкой: обрезать пробелы, выпасть пустые строки, затем удалить дубликаты, сохраняя первое вхождение.The онлайн сортировщик линий является клиентской, бесплатной, без регистрации и обновлений по мере ввода.

Чем занимается сортировщик линий?

Сортировщик строк берет блок текста, обрабатывает каждую строку как один элемент и переставляет строки по выбранному правилу.Один и тот же инструмент обычно очищает список одновременно: обрезание блуждающих пространств, удаление пустых строк и удаление дубликатов.

Версия Toolz предлагает пять режимов и четыре варианта очистки:

Настройка Что делает Дефолт
А до Я Алфавитный порядок с учетом локали и обработкой натуральных чисел Выбранный
числовой Заказы по номеру, с которого начинается каждая строка
Длина Заказы по количеству символов, сначала кратчайшие
Обратный Переворачивает текущий порядок строк без сортировки
Перетасовывать Случайный порядок; нажмите еще раз, чтобы перетасовать
Нисходящий Переворачивает результат от A до Z, числового или длины Выключить
Удалить пустые строки Отбрасывает линии, которые пусты или только пробелы На
Удалить дубликаты Сохраняет первое вхождение каждой строки Выключить
Обрезать пробел Удаляет пробелы и вкладки на обоих концах каждой строки Выключить
Игнорировать дело Сравнивает строки строчными буквами для сортировки и дубликатов На

На выходной панели показано, сколько строк вышло и сколько было удалено, поэтому вы можете сразу увидеть эффект от вариантов очистки.

Почему файл10 предшествует файлу2?

Потому что при простой текстовой сортировке строки сравниваются по одному символу слева. file10 а file2 матч для четырех персонажей, затем пятый персонаж 1 в одном и 2 в другом. Персонаж 1 Сортирует до 2, так file10 выигрывает, и сравнение никогда не учитывает тот факт, что 10 - это большее число, чем 2.

Естественная сортировка исправляет это, читая каждую серию цифр как число. режим сортировки строк Toolz's от A до Z делает это, используя встроенную сопоставление браузера и #39;s с включенным числовым сравнением, опция описана для String.prototype.localeСравнить на MDN. Правила заказа, лежащие в основе, взяты из Алгоритм сопоставления Unicode, как браузеры решают, что & quot;é & quot; сортируется рядом с & quot;e & quot; а не после & quot;z & quot;.

Вот тот же список из пяти пунктов по трем правилам:

Ввод Порядок байтов (LC_ALL=C sort)) Порядок символов, корпус сложен Естественный порядок (инструменты от A до Z)
item10 Item1 Item1 Item1
item2 item10 item10 item2
Item1 item2 item2 item3
item3 item3 item3 item10
zebra zebra zebra zebra

Порядок байтов ставит Item1 сначала только потому, что заглавный I имеет более низкий код, чем любая строчная буква. порядок символов с складыванием корпуса фиксирует заглавную букву, но все же ставит item10 перед item2. Естественный порядок становится правильным.

Как случай влияет на алфавитную сортировку?

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

Опция Игнорировать случай идет еще дальше и сравнивает все как строчные, Когда две строки отличаются только в зависимости от случая, они сравниваются как равные, и сортировка сохраняет их в том порядке, в котором они появились во входных данных. Это имеет значение для дубликатов, описанных ниже.

Обработанный пример со встроенным образцом

Нажмите & quot;Загрузить образец& quot; и ввод десять строк: banana, Apple, cherry, apple, 10, 2, Banana, dateпустая строка и grape, йо-

Настройки выходной Показан счет
По умолчанию: от A до Z, Игнорировать регистр включен, Удалить пустые строки включен 2, 10, Apple, apple, banana, Banana, cherry, date, grape 9 строк, 1 удалено
Добавить Удалить дубликаты 2, 10, Apple, banana, cherry, date, grape 7 строк, 3 удалены
Удалить дубликаты, Игнорировать выключение корпуса 2, 10, apple, Apple, banana, Banana, cherry, date, grape 9 строк, 1 удалено
По умолчанию плюс Понижение grape, date, cherry, Banana, banana, apple, Apple, 10, 2 9 строк, 1 удалено

В этой таблице видны три детали. Числа стоят перед буквами в алфавитном порядке, и 2 предшествует 10 из-за естественного порядка. С Незнакомство случай на, Apple остается впереди apple потому что он появился первым во входе. с Игнорировать корпус выключен, браузер и #39;s сопоставление помещает строчную форму непосредственно перед прописной, что является обычным поведением в англоязычных браузерах, и ни одна из строк не считается дубликатами, потому что они не идентичны.Снижение является полным переворотом восходящего результата, поэтому привязанные линии переворачиваются тоже.

Алфавитная и числовая сортировка: когда следует использовать каждую?

Используйте алфавитный (естественный) режим для текста, который содержит числа, такие как имена файлов, метки версий или уличные адреса. используйте числовой режим, когда каждая строка является числом, или начинается с единицы, и вы хотите, чтобы строки упорядочивались по значению.

Числовой режим считывает число в начале каждой строки так же, как JavaScript's parseFloat делает. пропускает ведущие пробелы, читает необязательный знак, цифры, десятичную точку и показатель степени и останавливается на первом символе, который не может продолжить число. строки, которые не начинаются с числа, идут вниз и сохраняют свой первоначальный порядок.

Линия Используемая стоимость Примечание
42 42
-7.5 -7,5 Отрицательные и десятичные значения работают
1e3 1000 Читается научная нотация
12 apples 12 Текст после игнорирования номера
1,000 1 Чтение останавливается у запятой
$5 не номер Утопает на дно
v2 не номер Утопает на дно

Сортировка $5, 42, 1,000, -7.5, 12 apples, 1e3 в числовом режиме дает

-7.5
1,000
12 apples
42
1e3
$5

На этом выходе есть две ловушки. 1,000 отсортировано как 1, потому что тысячи сепараторов заканчивают число. Полосать их сначала с найти и заменить если ваши данные используют их. и $5 упал на дно; удалите символы валюты перед сортировкой цен.

Снижение в числовом режиме меняет весь результат на противоположный, что означает, что нечисловые линии перемещаются снизу вверх. если вам нужны только числа в порядке убывания, сначала очистите нечисловые линии.

Как работает сортировка по длине?

Режим длины упорядочивает строки по количеству символов, которые они содержат, сначала кратчайшие или сначала самые длинные с нисходящим. Строки одинаковой длины сохраняют порядок ввода.

Подсчет - длина строки JavaScript, которая подсчитывает кодовые единицы UTF-16 Для обычных букв, цифр и символов латинской с акцентом, которые равны количеству видимых символов: café это 4. Большинство смайлов и некоторые редкие символы используют две единицы кода, поэтому ok👍 считается как 4, а не 3. Для списков слов, имен или URL-адресов это редко имеет значение.

Сортировка по длине удобна для обнаружения выбросов: необычно длинного названия продукта, усеченной записи или самых коротких ключевых слов в списке.

В каком порядке происходит уборка и сортировка?

Шаги всегда выполняются в фиксированной последовательности, и порядок объясняет самые удивительные результаты:

  1. расщепля ввод в строки, принимающие окончания строк Unix и Windows.
  2. шлифов каждая строка, если пробелы обрезки включены.
  3. Удалить пустые строки, если на. Строка, содержащая только пробелы, считается пустой, даже с выключением Trim.
  4. Удалить дубликаты, если на. сохраняют первое вхождение. при включенном Ignore case линии, отличающиеся только падежом, считаются дубликатами, и кожух первого выживает.
  5. Сортировать, повернуть вспять или перетасовать что осталось.

Потому что обрезка необязательна и по умолчанию отключена apple а apple (с конечным пробелом) - это две разные строки при сравнении дубликатов, если только вы не включите Обрезать. это наиболее распространенная причина a & quot;удалить дубликаты& quot; pass кажется пропускает записи. вкладки, вставленные из электронной таблицы, вызывают тот же эффект.

Для более тяжелой дублирующей работы, такой как сохранение последнего вхождения или сравнение только части каждой строки, дубликат руководства по удалению строк охватывает варианты более подробно.

Обратный и нисходящий: в чем разница?

Обратный переворачивает текущий порядок строк, ничего не сортируя. c, a, b становиться b, a, c. Сначала снижаемся, а затем переворачивается, так что c, a, b в от А до Я с Нисходящим становится c, b, a, йо-

Используйте Обратный ход, когда исходный порядок что-то означает, например файл журнала с самыми старыми записями в первую очередь, и сначала вам нужно самое новое. Используйте По убыванию, когда вам нужен отсортированный список от Z до A или от самого большого до самого маленького. кнопка "По убыванию" отключена в режимах "Обратный ход" и "Перетасовка", потому что ей нечего перевернуть.

Достаточно ли случайна перетасовка?

В перетасовке используется алгоритм Фишера-Йейтса, который дает каждому возможному порядку равные шансы, когда его случайные числа однородны, и он черпает эти числа из браузера 's Math.random().Это нормально для рандомизации списка чтения, списка воспроизведения или порядка презентации. Это не криптографический случайный источник, поэтому это неправильный выбор для чего-либо, где у кого-то может быть причина предсказать или оспорить результат, например, розыгрыш призов. Для тех выделенный рандомизатор списков лучше подходит. Нажмите "Перетасовать еще раз", чтобы получить новый заказ.

Безопасно ли сортировать конфиденциальные списки онлайн?

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

Практическое ограничение размера - это память вашего браузера и #39;s, а не крышка сервера. Десятки тысяч строк сортируются мгновенно на типичном ноутбуке. очень большие файлы, в сотнях мегабайт, лучше обрабатываются в командной строке.

Какие ошибки сортировки линий являются обычным явлением?

Симптом Причина Исправить
file10 выше file2 в другом инструменте Простое сравнение символов Используйте естественную сортировку (здесь от A до Z) или sort -V
Записи с заглавной буквы все вверху Сортировка байт-порядка Используйте сортировку с учетом местоположения или случай "Игнорировать"
Дубликаты не удалены Пространства или вкладки для дорожек различаются Включите пробелы обрезки
"Apple" и "apple" оба сохранены Игнорировать случай выключен Включите "Игнорировать дело"
1,000 отсортировано как 1 Разделитель тысяч завершает число Удалите запятые перед числовой сортировкой
Цены с $ внизу Линия не начинается с числа Сначала снимите символы валюты
Нисходящий числовой список начинается со слов Нечисловые линии перевернуты вверху Сначала удалите нечисловые строки
Выход имеет на один больше & quot;удален& quot; чем ожидалось Замыкающая новая строка создала пустую последнюю строку Ожидаемый; пустая строка была опущена

Альтернативы онлайн-сортировщику линий

стрелка Как сортировать банкноты
ГНУ sort sort -f (складной случай), sort -n (числовой), sort -V (натуральный), sort -u (уникальный), sort -r (обратный) Скриптируемый, обрабатывает огромные файлы; видеть Руководство по сортировке GNU
shuf shuf list.txt Случайный порядок в командной строке
Сортировать по длине в оболочке awk '{ print length, $0 }' list.txt | sort -n | cut -d' ' -f2- Подсчитывает байты или символы в зависимости от локали
Электронная таблица Вставить в столбец, Данные, Сортировать Хорошо, когда линии имеют несколько полей
Редакторы кода "Сортировать строки" команды во многих редакторах Поведение варьируется в зависимости от редактора
Сортировщик линий Toolz Вставить, щелкнуть режим Предварительный просмотр в реальном времени, очистка за один проход, на стороне клиента

заметьте, что sort выход зависит от LC_ALL или LANG настройка локали, поэтому одна и та же команда может давать разные порядки на двух машинах. Настройка LC_ALL=C порядок байтов сил.

Сортировка списка, шаг за шагом

  1. откройте сортировщик текстовых строк и вставьте свой список, по одному элементу в строке.
  2. Выберите от A до Z для слов и имен файлов, числовое для чисел или длину для количества символов.
  3. Включите пробелы обрезки, если список был вставлен из документа или электронной таблицы.
  4. Включите Удалить дубликаты, если вы хотите, чтобы каждая запись была сделана один раз; оставьте дело "Игнорировать", чтобы объединить различные капитализации.
  5. Проверьте счетчик вывода и & quot;удалено& quot; число.
  6. Нажмите Копировать.

Если список также нуждается в нормализации капитализации, руководство конвертера корпуса объясняет название, предложение и другие дела, а также текстовые инструменты hub собирает остальные текстовые утилиты в одном месте.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!