Text in gleichmäßige Spalten aufteilen
Sieben Zeilen in drei Spalten ergeben drei, zwei und zwei: Die Gruppen unterscheiden sich nie um mehr als eine Zeile, die vorderen Spalten erhalten die Zusatzzeilen, und Leerzeilen bleiben, wo sie waren. 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
- Alpha Bravo Delta Echo Foxtrot Golf
- Spaltenanzahl
- 3
- Zeilenanzahl
- 7
Teilen Sie einen Textblock in die gewünschte Anzahl ausgewogener Spalten auf, ohne Zeilen von Hand zu zählen, auszuschneiden oder neu anzuordnen. Das Ergebnis behält jede Zeile in ihrer ursprünglichen Reihenfolge, bewahrt beabsichtigte Leerzeilen und liefert sowohl die Zeilenliste jeder Spalte als auch einen anzeigefertigen Text. Das eignet sich für Programme, Listen, Skripte, Etiketten und andere zeilenorientierte Inhalte, die übersichtlich nebeneinander erscheinen sollen.
Machen Sie aus einer langen Liste ein ausgewogenes Layout
Fügen Sie den vollständigen Text ein und wählen Sie die benötigte Spaltenzahl. Der Teiler behandelt den Inhalt als geordnete Zeilenfolge und zerlegt sie in zusammenhängende Gruppen, deren Größen sich höchstens um eine Zeile unterscheiden. Geht die Teilung nicht genau auf, erhalten die vorderen Spalten die zusätzlichen Zeilen.
Sieben Zeilen in drei Spalten ergeben beispielsweise Gruppen mit drei, zwei und zwei Zeilen. Dadurch bleibt das Ergebnis vorhersehbar und vermeidet das optische Ungleichgewicht, das entstünde, wenn alle Restzeilen in der letzten Spalte landeten. Jede ausgegebene Spalte enthält ihre bei eins beginnende Position, eine Liste ihrer einzelnen Zeilen und einen mit Zeilenumbrüchen verbundenen Text.
Verwenden Sie die Liste für einzelne Elemente oder Tabellenzellen und den Text zum Einfügen einer vollständigen Spalte in ein Klartextfeld. Die ursprüngliche Lesereihenfolge bleibt von der ersten bis zur letzten Spalte erhalten; Ihr Material wird weder sortiert noch interpretiert.
So werden Zeilen und Leerräume behandelt
Zeilengrenzen werden bei Unix-Umbrüchen, Windows-Zeilenenden und älteren Wagenrücklauf-Trennzeichen erkannt. Die Ausgabe vereinheitlicht den zusammengesetzten Text jeder Spalte mit Zeilenumbrüchen und liefert Skripten dadurch ein stabiles Ergebnis auf verschiedenen Betriebssystemen. Leerzeilen sind bedeutungsvoll und bleiben als leere Zeichenfolgen in den Zeilenlisten erhalten.
Sie zählen bei der Verteilung mit, weil ihr Entfernen Absätze, Verse, Formulare oder sorgfältig angeordnete Notizen verändern könnte. Selbst ein leerer Textwert steht für eine leere Zeile, entsprechend dem konsistenten Aufteilen eines Textfeldes. Auch die angeforderte Spaltenzahl wird genau eingehalten.
Fordern Sie mehr Spalten als Zeilen an, werden zusätzliche Spalten mit leerer Liste und leerem Text zurückgegeben. Das ist hilfreich, wenn das umgebende Layout bereits eine feste Zahl von Bereichen besitzt. Wörter werden weder umgebrochen, gemessen, getrennt noch zwischen Zeilen verschoben; bereiten Sie den gewünschten Umbruch vorher vor.
Zeigen, exportieren oder automatisieren Sie das Ergebnis zuverlässig
Durchlaufen Sie für eine Darstellung nebeneinander die ausgegebenen Spalten der Reihe nach und setzen Sie jede in einen gleich breiten Container. Geben Sie innerhalb einer Spalte die Zeilen aus der Liste wieder, um ausdrückliche Leerzeilen zu erhalten, oder zeigen Sie den Text in einem vorformatierten Element an. Ein Druckablauf kann dieselbe Struktur auf Seitenspalten, Etiketten, Stichwortkarten oder eine Dokumentvorlage übertragen.
Da der Algorithmus deterministisch arbeitet und weder Netzwerk, Zufallswerte noch Zeitstempel verwendet, erzeugt dieselbe Eingabe immer dieselbe Ausgabe. Er eignet sich damit für Build-Systeme, redaktionelle Abläufe, wiederholbare Tests und zwischengespeicherte Umwandlungen. Die Prüfung ist bewusst streng: Der Text muss eine Zeichenfolge und die Spaltenzahl eine ganze Zahl von mindestens eins sein.
Ungültige Werte schlagen fehl, statt gerundet oder erraten zu werden.
Anwendungsfälle
Veranstaltungsprogramm formatieren
Teilen Sie eine geordnete Liste von Vortragenden oder Sitzungen in ausgewogene Blöcke für ein kompaktes gedrucktes oder digitales Programm.
Mehrspaltige Checkliste erstellen
Verwandeln Sie zeilenweise Aufgaben in eine feste Zahl von Bereichen und behalten Sie jeden Eintrag sowie seine ursprüngliche Reihenfolge bei.
Redaktionelle Layouts vorbereiten
Übergeben Sie ausgewogene Zeilengruppen an eine Dokumentvorlage, einen Etikettengenerator, eine statische Website oder eine Präsentation.
Häufige Fragen
Wie werden zusätzliche Zeilen verteilt?
Die Größen unterscheiden sich höchstens um eine Zeile. Geht die Teilung nicht genau auf, erhält jede der vorderen Spalten eine zusätzliche Zeile.
Bleiben Leerzeilen erhalten?
Ja. Sie bleiben als leere Zeichenfolgen bestehen und zählen als Zeilen, sodass Absatzabstände und beabsichtigte Lücken nicht verloren gehen.
Was geschieht bei mehr Spalten als Zeilen?
Die angeforderte Anzahl wird ausgegeben. Spalten ohne zugewiesene Zeilen enthalten eine leere Zeilenliste und einen leeren Text.
Werden lange Zeilen an eine Breite angepasst?
Nein. Nur vorhandene Zeilen werden verteilt; die Anzeigebreite wird nicht gemessen, Wörter werden nicht umgebrochen und der Text bleibt unverändert.
Welche Zeilenenden werden erkannt?
Unix-Zeilenumbrüche, Windows-Zeilenenden und ältere Wagenrückläufe werden alle als Trenner erkannt. Der zusammengefügte Text jeder Spalte wird danach auf einfache Zeilenumbrüche vereinheitlicht, sodass Ihr Ergebnis auf jedem Betriebssystem gleich ist.
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/text/split-columns \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Alpha\nBravo\nCharlie\nDelta\nEcho\nFoxtrot\nGolf","column_count":3}'const res = await fetch("https://api.kit.forhosting.com/text/split-columns", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Alpha\nBravo\nCharlie\nDelta\nEcho\nFoxtrot\nGolf",
"column_count": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/split-columns",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Alpha\nBravo\nCharlie\nDelta\nEcho\nFoxtrot\nGolf",
"column_count": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/split-columns", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Alpha\\nBravo\\nCharlie\\nDelta\\nEcho\\nFoxtrot\\nGolf","column_count":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Alpha\nBravo\nCharlie\nDelta\nEcho\nFoxtrot\nGolf","column_count":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/split-columns", 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": "Alpha\nBravo\nCharlie\nDelta\nEcho\nFoxtrot\nGolf",
"column_count": 3
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.split_columns",
"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.
Limits
max_tokens | 20000 |
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
Derselbe deterministische Vorgang kann im Browser ausgeführt oder über die API automatisiert werden.
Zeigen, exportieren oder automatisieren Sie das Ergebnis zuverlässig
Für schnelle Aufgaben steht der Browser bereit; per API kostet eine Anfrage $0.002, wenn Sie den Vorgang automatisieren möchten.
Technische Fragen
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Derselbe deterministische Teiler kann auch direkt im Browser ausgeführt werden.