Längstes gemeinsames Suffix mehrerer Zeilen finden
report-final.csv, backup-final.csv und export-final.csv teilen das Ende -final.csv mit 10 Zeichen, nicht nur die Endung .csv. Fügen Sie einen Wert pro Zeile ein und prüfen Sie, ob Dateinamen, Pfade oder Codes derselben Regel folgen. 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
- report-final.csv backup-final.csv export-final.csv
- Suffix
- -final.csv
- Länge
- 10
- Zeilenanzahl
- 3
Die Suche nach dem längsten gemeinsamen Suffix vergleicht jede von Ihnen eingegebene Zeile und gibt die genaue Zeichenfolge zurück, die alle Zeilen am Ende gemeinsam haben. Das hilft bei Dateinamen, Pfaden, Produktcodes, erzeugten Bezeichnungen und anderen Zeichenfolgen mit derselben Endkonvention. Fügen Sie die Zeilen als Klartext ein und erhalten Sie ein deterministisches Ergebnis mit Suffix, Zeichenlänge und Anzahl der geprüften Zeilen. Es wird nichts erraten, umgeordnet oder unscharf zugeordnet.
Gemeinsame Endung einer Liste ermitteln
Tragen Sie pro Zeile einen Wert ein und starten Sie die Suche. Das Werkzeug beginnt beim letzten Zeichen jeder Zeile und geht nur so lange rückwärts, wie alle Zeichen identisch bleiben. Das Ergebnis ist somit das längste exakte Suffix, nicht lediglich eine Dateiendung oder das letzte Wort.
Zeilen mit <code>-final.csv</code> teilen beispielsweise diese gesamte Folge, auch wenn ihre Präfixe verschieden sind. Endet eine Zeile mit <code>.csv</code> und eine andere mit <code>. CSV</code>, stimmt die Groß- und Kleinschreibung nicht überein; die Endung gilt dann nicht als gemeinsam.
Dieses strenge Verhalten deckt Unterschiede bei der Prüfung von Namensregeln zuverlässig auf. Automatische Abläufe können dadurch einen echten Treffer von einem leeren Suffix unterscheiden und die Anzahl der verglichenen Werte festhalten. Bei nur einer Zeile ist die ganze Zeile ihr gemeinsames Suffix.
Zeilenenden und Zeichenvergleich verstehen
Trennzeichen von Windows und Unix sowie ältere Wagenrückläufe werden vor dem Vergleich vereinheitlicht. Dadurch verhält sich Text aus unterschiedlichen Betriebssystemen gleich. Ein einzelner abschließender Zeilenumbruch gilt als Dateiende und nicht als zusätzlicher leerer Datensatz.
Leerzeilen an anderen Stellen bleiben erhalten und fließen in die Berechnung ein; da sie keine Zeichen enthalten, führen sie zu einem leeren gemeinsamen Suffix. Der Abgleich erfolgt anhand von Unicode-Codepoints statt roher UTF-16-Einheiten. Viele Emoji zählen deshalb in der ausgegebenen Länge als ein Zeichen.
Der Vergleich bleibt wörtlich: Akzente, Normalisierungsformen, Leerraum, Satzzeichen sowie Groß- und Kleinschreibung werden nicht verändert. Nachgestellte Leerzeichen sind echte Endzeichen und beeinflussen das Ergebnis. Wenn Sie Bezeichnungen nach Bedeutung statt nach genauer Darstellung vergleichen möchten, bereinigen oder normalisieren Sie die Quelle vorher.
Ergebnis zur Prüfung und Automatisierung nutzen
Ein gemeinsames Suffix ist ein kompaktes Signal für einheitliche Namen. In einer Veröffentlichungspipeline können Sie Artefaktnamen vergleichen und vor dem Hochladen eine erwartete Endung verlangen. Bei einer Migration prüfen Sie exportierte Pfade darauf, ob alle Elemente dasselbe Endverzeichnis oder dieselbe Formatkennung besitzen.
Bei der Datenaufbereitung lässt sich eine feste Prüfkennung oder ein Lieferantencode hinter einem variablen Präfix isolieren. Die Fähigkeit errät keine Endungen, entfernt keinen Leerraum, ändert keine Schreibweise und trennt nicht an Satzzeichen. Solche Eingriffe würden die Quelle verändern.
Stattdessen erhalten Sie eine deterministische Grundfunktion, die sich sicher mit eigenen Bereinigungsschritten verbinden lässt.
Anwendungsfälle
Dateiendungen kontrollieren
Bestätigen Sie vor der Verarbeitung, dass mehrere Dateinamen dieselbe wörtliche Endung oder ein längeres Veröffentlichungssuffix teilen.
Kennungskonventionen untersuchen
Erkennen Sie eine feste Schlusskennung in Produktcodes, Ticketbezeichnungen oder extern erzeugten Identifikatoren.
Exportierte Pfade vergleichen
Finden Sie ein gemeinsames Endverzeichnis, einen Dateinamen oder eine Formatkennung in den Pfaden einer Migration.
Häufige Fragen
Was geschieht ohne gemeinsame Endung?
Das Suffix ist eine leere Zeichenfolge und die ausgegebene Länge beträgt null.
Wird Groß- und Kleinschreibung unterschieden?
Ja. Beide gelten als unterschiedliche Zeichen; die Eingabe wird genau in Ihrer gelieferten Form verglichen.
Erzeugt ein letzter Umbruch eine Leerzeile?
Nein. Ein einzelner letzter Umbruch beendet die Datei; Leerzeilen an anderen Stellen werden weiterhin verglichen.
Wie werden Emoji gezählt?
Die Länge beruht auf Unicode-Codepoints. Viele Emoji zählen daher als ein Zeichen, obwohl JavaScript sie in zwei UTF-16-Einheiten speichert.
Was erhalte ich, wenn ich nur eine Zeile einfüge?
Die ganze Zeile, weil keine andere Zeile ihr widerspricht. Sobald Sie einen zweiten Wert hinzufügen, schrumpft das Ergebnis auf die Zeichen, die beide Zeilen am Ende gemeinsam haben.
Was passiert, wenn die Zeilen kein gemeinsames Ende haben?
Dann ist das Ergebnis leer und hat die Länge null. Das geschieht auch, wenn mitten in der Liste eine Leerzeile steht, denn eine leere Zeile hat keine Zeichen, die sie mit den anderen teilen könnte.
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/common-suffix \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"report-final.csv\nbackup-final.csv\nexport-final.csv"}'const res = await fetch("https://api.kit.forhosting.com/str/common-suffix", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "report-final.csv\nbackup-final.csv\nexport-final.csv"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/common-suffix",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "report-final.csv\nbackup-final.csv\nexport-final.csv"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/common-suffix", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"report-final.csv\\nbackup-final.csv\\nexport-final.csv"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"report-final.csv\nbackup-final.csv\nexport-final.csv"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/common-suffix", 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": "report-final.csv\nbackup-final.csv\nexport-final.csv"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.common_suffix",
"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_chars | 1000000 |
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
Gemeinsame Endung einer Liste ermitteln
Die Antwort enthält <code>suffix</code>, die Zahl der Unicode-Zeichen in <code>length</code> und <code>line_count</code>.
Ergebnis zur Prüfung und Automatisierung nutzen
Die API liefert strukturiertes JSON: Prüfen Sie <code>suffix</code> gegen Ihre Konvention, entfernen Sie mit <code>length</code> exakt diese Zahl von Zeichen in Unicode-tauglichem Code oder protokollieren Sie <code>line_count</code> als Beleg für den Stapel. Für schnelle Kontrollen eignet sich der Browser; automatisierte API-Anfragen kosten jeweils $0.002.
Technische Fragen
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Die Browserversion können Sie unmittelbar auf dieser Seite verwenden.