Text in gleichmäßige Spalten aufteilen
Teilen Sie einen Textblock in die gewünschte Anzahl ausgewogener Spalten auf, ohne Zeilen von Hand zu zählen, auszuschneiden oder neu anzuordnen.
Im Browser ausführen – kostenlos
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. Derselbe deterministische Vorgang kann im Browser ausgeführt oder über die API automatisiert werden.
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. Für schnelle Aufgaben steht der Browser bereit; per API kostet eine Anfrage $0.002, wenn Sie den Vorgang automatisieren möchten.
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.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Derselbe deterministische Teiler kann auch direkt im Browser ausgeführt werden.
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. |