Command Palette

Search for a command to run...

Tekstregels sorteren: alfabetische, natuurlijke en numerieke volgorde uitgelegd

Tekstregels sorteren: alfabetische, natuurlijke en numerieke volgorde uitgelegd

T
Toolz Team
|Sep 19, 2026|13 min lezen
Geef de voorkeur aan Toolz.dev op Google

Onderdeel van de Teksttools-collectie

lijnsorteerder

Sorteer tekstregels alfabetisch, numeriek of op lengte, keer ze om of schuif ze, en verwijder duplicaten, lege regels en witruimte - allemaal in uw browser.

Gebruik de lijnsorteerder

Het sorteren van een lijst klinkt als het meest opgeloste probleem in de computerwereld, totdat het resultaat terugkomt file10 boven file2, elke naam met hoofdletter bovenaan, $5 gestrand onderaan een prijslijst, en & quot; Apple" en "apple" geteld als twee verschillende vermeldingen Elk van die is het soort dat precies doet wat het werd verteld Het probleem is dat "alfabetische volgorde" verbergt verschillende regels, en het kiezen van de verkeerde levert een lijst op die technisch gesorteerd en praktisch nutteloos is.

Deze gids legt de bestelregels uit die van belang zijn voor alledaagse lijsten: bytevolgorde, locale-bewuste alfabetische volgorde, natuurlijke volgorde voor ingebedde getallen, ware numerieke volgorde en lengtevolgorde. Het behandelt ook hoe reinigingsstappen zoals trimmen en verwijderen van duplicaten interageren met sorteren. De bewerkte voorbeelden gebruiken de Toolz lijnsorteerder, en elke getoonde uitvoer is wat de code produceert.

tl;dr: Om tekstregels te sorteren, plak je één item per regel en kies je een modus Alfabetisch in de Toolz Line Sorter is locale-bewust en natuurlijk, dus item2 komt voor item10, en Negeer geval (standaard aan) houdt & quot; Apple" en "apple" samen Numerieke modus orders door het getal aan het begin van elke regel en zinkt niet-numerieke lijnen naar de bodem Lengte modus orders door karaktertelling Reinigen loopt voor het sorteren: trimmen witruimte, drop lege lijnen, dan verwijderen duplicaten het houden van de eerste gebeurtenis De online lijnsorteerder is client-side, gratis, geen aanmelding en updates terwijl u typt.

Wat doet een lijnsorteerder?

Een regelsorteerder neemt een blok tekst, behandelt elke regel als één item, en herschikt de regels door een gekozen regel, hetzelfde gereedschap reinigt de lijst meestal tegelijkertijd: zwerfruimtes bijsnijden, lege regels verwijderen en duplicaten verwijderen.

De Toolz-versie biedt vijf modi en vier reinigingsopties:

Instelling Wat het doet Standaard
A tot Z Lokaalbewuste alfabetische volgorde met natuurlijke nummerverwerking Geselecteerd
getal- Bestellingen op basis van het nummer waarmee elke regel begint
Lengte Orders op karakteraantal, kortste eerst
Omgekeerd Draait de huidige regelvolgorde om zonder te sorteren
Shuffle Willekeurige volgorde; klik opnieuw om te herschikken
Aflopend Draait het resultaat van A naar Z, Numeriek of Lengte Off
Verwijder lege regels Laat lijnen vallen die leeg zijn of alleen witruimte On
Verwijder duplicaten Houdt het eerste voorkomen van elke regel Off
Witruimte trimmen Verwijdert spaties en tabbladen aan beide uiteinden van elke regel Off
Zaak negeren Vergelijkt lijnen als kleine letters voor sorteren en duplicaten On

Het uitvoerpaneel laat zien hoeveel lijnen er uit zijn gekomen en hoeveel er zijn verwijderd, zodat u het effect van de reinigingsopties in één oogopslag kunt zien.

Waarom komt file10 vóór file2?

Omdat een platte tekst sorteert, tekenreeksen één teken tegelijk vergelijkt, vanaf links. file10 en file2 match voor vier karakters, dan is het vijfde karakter 1 in een en 2 in de andere Het karakter 1 Sorteert eerder 2, dus file10 wint, en in de vergelijking wordt nooit gekeken naar het feit dat 10 een groter getal is dan 2.

Natuurlijk sorteren lost dit op door elke reeks cijfers als een getal te lezen. De Toolz-lijnsorteerder's A tot Z-modus doet dat met behulp van de browser's ingebouwde verzameling met numerieke vergelijking ingeschakeld, de optie beschreven voor String.prototype.localeVergelijken op MDN. De onderstaande bestelregels zijn afkomstig van de Unicode-collatiealgoritme, dat is hoe browsers beslissen dat "é" sorteert in de buurt van "e" in plaats van na "z".

Hier is dezelfde lijst met vijf items onder drie regels:

Invoer Bytevolgorde (LC_ALL=C sort) Karaktervolgorde, gevouwen kast Natuurlijke orde (Toolz A tot Z)
item10 Item1 Item1 Item1
item2 item10 item10 item2
Item1 item2 item2 item3
item3 item3 item3 item10
zebra zebra zebra zebra

Byte order zet Item1 eerst alleen maar omdat een hoofdletter I heeft een lagere code dan elke kleine letter Tekenvolgorde met vouwen van de behuizing fixeert het kapitaal, maar zet nog steeds item10 vooruit item2. Natuurlijke orde heeft beide goed.

Hoe beïnvloedt case alfabetische sortering?

In ruwe bytevolgorde sorteert elke hoofdletter vóór elke kleine letter, zodat een lijst met namen kan worden opgesplitst in twee alfabetische runs: eerst alle hoofdletters en daarna alle kleine letters. Lokaal bewuste sortering doet dat niet; het behandelt letters eerst als dezelfde letter en gebruikt alleen hoofdletters om de banden te verbreken.

De optie Case negeren gaat nog een stap verder en vergelijkt alles als kleine letters Wanneer twee regels alleen per geval verschillen, vergelijken ze als gelijk, en de soort houdt ze in de volgorde waarin ze in de invoer verschenen Dat is belangrijk voor duplicaten, hieronder behandeld.

Werkte voorbeeld met de ingebouwde steekproef

Klik op "Laad sample" en de invoer is tien regels: banana, Apple, cherry, apple, 10, 2, Banana, date, een lege regel, en grape.

Instellingen prestatie Getoonde telling
Standaardwaarden: A tot Z, Hoofdlettergebruik negeren, lege regels verwijderen 2, 10, Apple, apple, banana, Banana, cherry, date, grape 9 regels, 1 verwijderd
Toevoegen Verwijder duplicaten 2, 10, Apple, banana, cherry, date, grape 7 regels, 3 verwijderd
Verwijder duplicaten, negeer de behuizing uit 2, 10, apple, Apple, banana, Banana, cherry, date, grape 9 regels, 1 verwijderd
Standaards plus Aflopend grape, date, cherry, Banana, banana, apple, Apple, 10, 2 9 regels, 1 verwijderd

In die tabel zijn drie details zichtbaar Getallen komen voor letters in alfabetische modus, en 2 voorafgaat 10 vanwege natuurlijke ordening Met Negeer case aan, Apple blijft voor apple omdat het als eerste verscheen in de invoer Met Negeer geval uit, de browser' s collatie plaatst de kleine letter vorm net voor de hoofdletter één, dat is het gebruikelijke gedrag in Engelstalige browsers, en geen van de regels tellen als duplicaten omdat ze niet identiek zijn Aflopend is een volledige omkering van het stijgende resultaat, dus gebonden lijnen flip ook.

Alfabetische versus numerieke sortering: wanneer moet u ze allemaal gebruiken?

Gebruik de alfabetische (natuurlijke) modus voor tekst die cijfers bevat, zoals bestandsnamen, versielabels of straatadressen Gebruik de numerieke modus wanneer elke regel een getal is, of begint met één, en u wilt dat de regels op waarde worden geordend.

De numerieke modus leest het nummer aan het begin van elke regel zoals JavaScript's parseFloat doet Het slaat voorloopspaties over, leest een optioneel teken, cijfers, een decimaal en een exponent, en stopt bij het eerste teken dat een getal niet kan voortzetten Regels die niet met een getal beginnen, gaan naar de bodem en behouden hun oorspronkelijke volgorde.

Line Gebruikte waarde Opmerking
42 42
-7.5 -7,5 Negatieve en decimale waarden werken
1e3 1000 Wetenschappelijke notatie wordt gelezen
12 apples 12 Tekst na het nummer wordt genegeerd
1,000 1 Lezen stopt bij de komma
$5 geen nummer Zakt naar de bodem
v2 geen nummer Zakt naar de bodem

Sorteren $5, 42, 1,000, -7.5, 12 apples, 1e3 in de numerieke modus geeft

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

Er zitten twee vallen in die uitvoer. 1,000 gesorteerd als 1, omdat duizenden scheidingstekens het nummer beëindigen Strip ze eerst met vinden en vervangen als uw gegevens ze gebruiken En $5 tot op de bodem gevallen; valutasymbolen verwijderen voordat u prijzen sorteert.

Aflopend in numerieke modus keert het hele resultaat om, wat betekent dat de niet-numerieke lijnen van onder naar boven bewegen Als je de getallen alleen in aflopende volgorde wilt hebben, ruim dan eerst de niet-numerieke lijnen op.

Hoe werkt sorteren op lengte?

Lengtemodus ordent regels op basis van het aantal tekens dat ze bevatten, de kortste eerst of de langste eerst met aflopend. Lijnen van gelijke lengte behouden hun invoervolgorde.

De telling is de JavaScript-tekenreekslengte, die UTF-16-code-eenheden telt Voor gewone letters, cijfers en geaccentueerde Latijnse tekens die gelijk is aan het aantal zichtbare tekens: café is 4. De meeste emoji en enkele zeldzame tekens gebruiken twee code-eenheden, dus ok👍 telt als 4, niet als 3. voor lijsten met woorden, namen of URL's doet dit er zelden toe.

Lengtesortering is handig voor het opsporen van uitschieters: de ongewoon lange producttitel, de ingekorte invoer of de kortste trefwoorden in een lijst.

In welke volgorde gebeurt het schoonmaken en sorteren?

De stappen lopen altijd in een vaste volgorde, en de volgorde verklaart de meest verrassende resultaten:

  1. scheur de invoer in regels, waarbij zowel Unix- als Windows-lijnuitgangen worden geaccepteerd.
  2. toestand elke regel, als Trim witruimte is ingeschakeld.
  3. Verwijder lege regels, indien aan. Een regel die alleen spaties bevat, telt als leeg, zelfs als Afsnijden is uitgeschakeld.
  4. Verwijder duplicaten, indien aan. 't eerste voorval wordt bewaard 'Bij geval negeren' tellen lijnen die alleen per geval verschillen als duplicaten, en de behuizing van het eerste overleeft.
  5. Sorteren, omkeren of schudden wat er nog over is.

Omdat trimmen optioneel is en standaard uit staat apple en apple (met een volgruimte) zijn twee verschillende regels wanneer duplicaten worden vergeleken, tenzij u Trim inschakelt Dat is de meest voorkomende reden dat een " duplicaten verwijderen" pass lijkt vermeldingen te missen Tabbladen die uit een spreadsheet zijn geplakt, veroorzaken hetzelfde effect.

Voor zwaarder dubbel werk, zoals het behouden van de laatste gebeurtenis of het vergelijken van slechts een deel van elke regel, is de gids voor het verwijderen van dubbele regels behandelt de opties diepgaander.

Omgekeerd versus dalend: wat is het verschil?

Omgekeerd draait de huidige volgorde van de lijnen om zonder iets te sorteren. c, a, b HALD b, a, c. Eerst aflopend sorteert en dan omdraait, dus c, a, b in A tot Z met Aflopend wordt c, b, a.

Gebruik Omgekeerd wanneer de oorspronkelijke bestelling iets betekent, zoals een logbestand met de oudste vermeldingen eerst, en u wilt eerst de nieuwste Gebruik Aflopend wanneer u een gesorteerde lijst van Z naar A of de grootste naar de kleinste wilt De knop Aflopend is uitgeschakeld in de modus Omgekeerd en Schudden omdat deze niets om te draaien heeft.

Is de shuffle willekeurig genoeg?

De shuffle maakt gebruik van het Fisher-Yates-algoritme, dat elke mogelijke volgorde een gelijke kans geeft als de willekeurige getallen uniform zijn, en het trekt die getallen uit de browser & # 39; S Math.random(). Dat is prima voor het randomiseren van een leeslijst, een afspeellijst of een presentatievolgorde Het is geen cryptografische willekeurige bron, dus het is de verkeerde keuze voor alles waar iemand een reden zou kunnen hebben om het resultaat te voorspellen of te betwisten, zoals een prijstrekking Voor hen, een dedicated lijst randomizer past beter Klik nogmaals op Shuffle om een nieuwe bestelling te krijgen.

Is het veilig om gevoelige lijsten online te sorteren?

Met deze tool, ja. sorteren en opschonen gebeuren client-side, in JavaScript in uw browser tab De tekst wordt niet geüpload of opgeslagen, en de tool blijft werken met het netwerk uit zodra de pagina is geladen Lijsten met e-mailadressen, klantnamen of interne hostnamen verlaten nooit uw machine.

De praktische groottelimiet is uw browser' s geheugen in plaats van een server cap Tienduizenden regels sorteren direct op een typische laptop Zeer grote bestanden, in de honderden megabytes, worden beter afgehandeld op de opdrachtregel.

Wat zijn veelvoorkomende regel sorteerfouten?

Symptoom Oorzaak Fix
file10 boven file2 in een ander gereedschap Vergelijking van duidelijke karakters Gebruik natuurlijke soort (A tot Z hier) of sort -V
Inzendingen met een hoofdletter allemaal bovenaan Byte-order sort Gebruik een locale-bewuste sorteer- of negeerbehuizing
Duplicaten niet verwijderd Achterliggende spaties of tabbladen verschillen Schakel Trim whitespace in
"Apple" en "apple" beiden gehouden Negeer zaak is uit Zet de behuizing negeren aan
1,000 gesorteerd als 1 Duizenden scheidingsteken beëindigt het getal Komma's verwijderen vóór numerieke sortering
Prijzen met $ aan de onderkant Lijn begint niet met een getal Strip eerst valutasymbolen
Aflopende numerieke lijst begint met woorden Niet-numerieke lijnen zijn naar boven omgekeerd Verwijder eerst niet-numerieke lijnen
Output heeft één meer & quot;verwijderd" dan verwacht Een achterliggende nieuwe regel creëerde een lege laatste regel Verwacht; de lege regel werd geschrapt

Alternatieven voor een online lijnsorteerder

kwast Hoe te sorteren vastleggen
GNU sort sort -f (vouwgeval), sort -n (numeriek), sort -V (natuurlijk), sort -u (uniek), sort -r (omgekeerd) Scriptable, verwerkt enorme bestanden; zie de GNU sorteer handleiding
shuf shuf list.txt Willekeurige volgorde op de opdrachtregel
Sorteer op lengte in een schelp awk '{ print length, $0 }' list.txt | sort -n | cut -d' ' -f2- Telt bytes of tekens afhankelijk van de landinstelling
Spreadsheet Plakken in een kolom, Data, Sorteren Goed als lijnen meerdere velden hebben
Code-editors "Sorteer lijnen" opdrachten in veel editors Gedrag verschilt per redacteur
Toolz Line Sorter Plakken, klik op een modus Live preview, schoonmaken in één pas, client-side

Merk op dat sort output hangt af van de LC_ALL of LANG locale instelling, daarom kan hetzelfde commando verschillende orders geven op twee machines Instellen LC_ALL=C forces byte order.

Een lijst sorteren, stap voor stap

  1. Open de tekstregel sorteerder en plak je lijst, één item per regel.
  2. Kies A tot Z voor woorden en bestandsnamen, Numeriek voor getallen of Lengte voor tekentellingen.
  3. Schakel Trim whitespace in als de lijst is geplakt vanuit een document of spreadsheet.
  4. Schakel Duplicaten verwijderen in als u elk item één keer wilt; laat Hoofdletter negeren staan om verschillende hoofdletters samen te voegen.
  5. Controleer de output count en de "verwijderd" nummer.
  6. Klik Kopiëren.

Als de lijst ook genormaliseerd moet worden, zal de gids voor case converter legt titel, zin en andere gevallen uit, en de hub voor teksthulpmiddelen verzamelt de rest van de teksthulpprogramma's op één plek.

Comments

0 comments

0/2000 characters

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