Сортування та дедуплікація рядків
Сортуйте рядки за абеткою чи природно, прибирайте дублікати й порожні рядки
Про цей інструмент
Верстак для роботи з рядками: вставте будь-який список і відсортуйте його за абеткою, у зворотному порядку, природно (item2 перед item10), за довжиною або перемішайте — за бажання обрізаючи пробіли, прибираючи порожні рядки та вилучаючи дублікати зі збереженням порядку. Кількість вилучених рядків повідомляється, тож ви точно бачите, що зробила дедуплікація.
Природне сортування — опція, до якої ви тягнутиметеся найчастіше: звичайне абеткове ставить «item10» перед «item2», бо порівнює символ за символом, тоді як природне порівнює вбудовані числа як числа — саме той порядок, якого люди очікують для імен файлів, версій та ідентифікаторів.
Дедуплікація лишає перше входження й зберігає початковий порядок уцілілих, що важливо, коли порядок списку має значення (імпорти, рядки конфігурації, плейлисти). Режим без урахування регістру вважає «Apple» і «apple» одним рядком.
Часті запитання
- Чим абеткове сортування відрізняється від природного?
- Абеткове порівнює коди символів, тож «file10» < «file2» (бо «1» < «2» на п’ятій позиції). Природне розпізнає послідовності цифр і порівнює їх як числа, даючи file2 < file10. Для всього, що містить числа, беріть природне.
- Дедуплікація лишає перше входження чи останнє?
- Перше. Рядки переглядаються згори вниз, і рядок вилучається лише тоді, коли ідентичний (або рівний без урахування регістру у відповідному режимі) траплявся раніше — тож порядок уцілілих збігається з оригіналом.
- Наскільки великий список він витримає?
- Сотні тисяч рядків — нормально: операції це прості проходи плюс сортування. Усе лишається в пам’яті браузера, тож практична межа — ваша машина, а не серверна квота.
- Чи можна поєднувати операції?
- Так, і застосовуються вони в розумному порядку: спершу обрізання, потім вилучення порожніх, далі дедуплікація, тоді сортування — тож « apple » і «apple» дедуплікуються разом, коли ввімкнено обрізання, а сортування завжди бачить уже очищений список.