Zeilen nach Länge sortieren
watermelon, fig, apple, pear und plum kommen als fig, pear, plum, apple und watermelon zurück: 3, 4, 4, 5 und 10 Zeichen. pear bleibt vor plum, weil gleich lange Zeilen ihre Reihenfolge behalten. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Text
- watermelon fig apple pear plum
- Text
- fig pear plum apple watermelon
- Anzahl
- 5
Sortieren Sie Zeilen nach Länge, wenn sich eine Liste mit kurzen Einträgen zuerst leichter prüfen, vergleichen oder darstellen lässt. Fügen Sie mehrzeiligen Text ein: Das Werkzeug zählt die Unicode-Zeichen jeder Zeile, ordnet sie aufsteigend und bewahrt bei gleicher Länge die ursprüngliche Reihenfolge. Das Ergebnis enthält kopierfertigen Text und strukturierte Datensätze mit den Messwerten – für schnelle manuelle Bereinigungen ebenso wie für reproduzierbare automatisierte Abläufe.
So funktioniert die Sortierung von kurz nach lang
Das Werkzeug behandelt jedes durch Windows-CRLF, Zeilenvorschub oder Wagenrücklauf getrennte Segment als Zeile. Es zählt Unicode-Codepunkte statt interner UTF-16-Einheiten von JavaScript; ein übliches Emoji zählt daher als ein Zeichen und nicht als zwei Ersatzhälften. Anschließend vergleicht es die Zahlen und setzt den kleinsten Wert zuerst.
Bei gleicher Länge bleibt die ursprüngliche relative Reihenfolge erhalten. Diese stabile Regel schützt bereits bedeutungsvolle Abläufe und liefert bei Wiederholungen vorhersehbare Ergebnisse. Leerzeilen sind gültig und haben Länge null, auch wenn ein abschließender Umbruch sie erzeugt; deshalb stehen sie am Anfang.
Leerzeichen und Satzzeichen werden mitgezählt und nicht entfernt. Die Antwort enthält durch Zeilenvorschübe verbundenen Text sowie eine strukturierte Liste aus Zeile und Länge. Eine alphabetische Entscheidung bei Gleichstand erfolgt bewusst nicht.
Eingabe vorbereiten und Ausgabe verstehen
Senden Sie ein Objekt, dessen Pflichtfeld text die vollständige mehrzeilige Zeichenfolge enthält. Möglich sind einzelne oder wiederholte Zeilen, reine Leerzeichen, nichtlateinische Schriften, Emojis und gemischte Zeilenenden. In der Antwort ist text der sortierte, mit Zeilenvorschüben normalisierte Block.
Das Array lines enthält für Programme Objekte mit line und length, damit Sie Tabellen erstellen, Grenzwerte prüfen oder ohne erneutes Zählen weiterarbeiten können. count nennt die Zahl der Segmente, method die Operation. Da nichts beschnitten wird, messen drei Leerzeichen drei. Ersatzpaare zählen einmal, kombinierende Zeichen getrennt.
Für visuelle Breite, Grapheme oder sprachabhängige Sortierung benötigen Sie ein dafür bestimmtes Werkzeug.
Einsatz für Listen, Code und Tabellendaten
Eine Längensortierung macht ungewöhnlich kurze oder lange Zeilen sichtbar. Ordnen Sie Überschriften, Bezeichnungen, Suchwörter oder Produkte so, dass kompakte Einträge zuerst und Ausreißer zuletzt erscheinen. In der Entwicklung lassen sich Testdaten, Konfigurationen, Protokolle oder Codefragmente vor einer Breitenprüfung anordnen.
Eine eigenständige Tabellenspalte zeigt leere, abgekürzte oder überlange Werte. Ein Ablauf kann den letzten Datensatz als Maximum prüfen oder den Text als stabiles Artefakt speichern, weil Gleichstände ihre Reihenfolge behalten. Netzwerk, Zufall und Uhr werden nicht verwendet.
Sortieren Sie keine einzelne Spalte, wenn Nachbarspalten verbunden bleiben müssen; sortieren Sie dann vollständige Datensätze.
Anwendungsfälle
Namen und Bezeichnungen ordnen
Setzen Sie kurze Bezeichnungen zuerst und bewahren Sie bei gleicher Länge die ursprüngliche Abfolge.
Code und Konfiguration prüfen
Ordnen Sie Fragmente nach Zeichenzahl, damit überlange Zeilen am Ende auffallen.
Tabellenwerte untersuchen
Sortieren Sie eine eigenständige Spalte, um leere, verkürzte oder lange Werte unverändert zu erkennen.
Häufige Fragen
Was zählt als Zeichen?
Gezählt werden Unicode-Codepunkte. Ein übliches Emoji als Ersatzpaar zählt einmal, kombinierende Zeichen hingegen getrennt.
Wie werden gleich lange Zeilen geordnet?
Ihre ursprüngliche relative Reihenfolge bleibt ohne alphabetische Zusatzregel erhalten.
Werden Leerzeichen vor dem Messen entfernt?
Nein. Führende und folgende Leerzeichen, Satzzeichen und alle anderen Codepunkte zählen zur Länge.
Was geschieht mit Leerzeilen?
Sie haben Länge null und stehen vor nichtleeren Zeilen. Ein abschließender Umbruch erzeugt ein leeres Segment.
Kann ich von lang nach kurz sortieren?
Dieses Werkzeug stellt immer die kürzeste Zeile an den Anfang. Für die längste zuerst kehren Sie die Zeilenreihenfolge des Ergebnisses danach um; gleich lange Zeilen stehen dann in umgekehrter Originalreihenfolge.
Warum stehen leere Zeilen ganz oben?
Eine leere Zeile hat die Länge null und ist damit die kürzeste. Auch ein Zeilenumbruch am Textende erzeugt eine solche leere Zeile. Eine Zeile aus drei Leerzeichen zählt dagegen drei Zeichen und bleibt von einer leeren Zeile unterscheidbar.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/str/sort-lines-length \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"watermelon\nfig\napple\npear"}'const res = await fetch("https://api.kit.forhosting.com/str/sort-lines-length", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "watermelon\nfig\napple\npear"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/sort-lines-length",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "watermelon\nfig\napple\npear"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/sort-lines-length", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"watermelon\\nfig\\napple\\npear"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"watermelon\nfig\napple\npear"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/sort-lines-length", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "watermelon\nfig\napple\npear"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.sort_lines_length",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Eingabe vorbereiten und Ausgabe verstehen
Eine leere Zeichenfolge ist gültig und bedeutet eine leere Zeile; ein fehlendes Feld oder ein anderer Datentyp führt zu invalid_input.
Einsatz für Listen, Code und Tabellendaten
Der Browser eignet sich für interaktive Arbeit; ein API-Aufruf kostet $0.002, wenn dieselbe deterministische Operation Teil einer Pipeline ist.
Technische Fragen
Was kostet die API-Operation?
Jeder erfolgreiche API-Aufruf kostet $0.002. Die Browserversion läuft für interaktive Nutzung lokal.