Trova il suffisso comune più lungo tra più righe
report-final.csv, backup-final.csv ed export-final.csv condividono la terminazione -final.csv, lunga 10 caratteri, non solo l'estensione .csv. Incolli un valore per riga per verificare che nomi di file, percorsi o codici seguano la stessa regola. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- report-final.csv backup-final.csv export-final.csv
- Suffisso
- -final.csv
- Lunghezza
- 10
- Numero di righe
- 3
Lo strumento per il suffisso comune più lungo confronta ogni riga fornita da Lei e restituisce la sequenza esatta di caratteri condivisa alla fine. È utile quando nomi di file, percorsi, codici prodotto, etichette generate o altre stringhe sembrano seguire la stessa convenzione finale. Incolli le righe come testo semplice e ottenga un risultato deterministico con il suffisso, la sua lunghezza in caratteri e il numero di righe esaminate. Nulla viene intuito, riordinato o associato in modo approssimativo.
Individui la terminazione condivisa di un elenco
Inserisca un valore per riga e avvii la ricerca. Lo strumento parte dall’ultimo carattere di ogni riga e procede all’indietro soltanto finché tutti i caratteri restano identici. Il risultato è quindi il suffisso esatto più lungo, non una semplice estensione o l’ultima parola.
Per esempio, le righe che terminano con <code>-final.csv</code> condividono l’intera sequenza anche se ogni prefisso è diverso. Se una riga finisce con <code>.csv</code> e un’altra con <code>. CSV</code>, le maiuscole non coincidono e l’estensione non viene indicata come comune.
Questo comportamento rigoroso aiuta Lei a verificare le regole di denominazione senza nascondere differenze. I flussi automatici possono così distinguere una corrispondenza reale da un suffisso vuoto e registrare quanti valori hanno partecipato. Con una sola riga, l’intera riga costituisce il suo suffisso comune.
Comprenda le interruzioni di riga e il confronto
I separatori di Windows, Unix e i vecchi ritorni a capo vengono normalizzati prima del confronto, così il testo copiato da sistemi diversi si comporta in modo coerente. Una sola interruzione finale viene considerata il terminatore del file e non un record vuoto aggiuntivo. Le righe vuote in altre posizioni vengono conservate e partecipano al calcolo; non avendo caratteri, rendono vuoto il suffisso condiviso.
La corrispondenza usa i punti di codice Unicode invece delle unità UTF-16 grezze. Di conseguenza, molte emoji contano come un solo carattere nella lunghezza restituita. Il confronto resta letterale: accenti, forme di normalizzazione, spazi, punteggiatura e maiuscole non cambiano.
Gli spazi finali sono caratteri effettivi e modificano la risposta. Se Lei intende confrontare il significato delle etichette anziché la loro rappresentazione esatta, pulisca o normalizzi prima il contenuto sorgente.
Usi il risultato per convalidare e automatizzare
Un suffisso comune è un segnale compatto di coerenza dei nomi. In una pipeline di rilascio, Lei può confrontare i nomi degli artefatti e richiedere un’estensione prevista prima del caricamento. Durante una migrazione, può esaminare i percorsi esportati per verificare se ogni elemento condivide la stessa directory finale o lo stesso marcatore di formato.
Nella preparazione dei dati, può isolare un marcatore di controllo o un codice fornitore dopo un prefisso variabile. La capacità non deduce estensioni, non rimuove spazi, non cambia maiuscole e non divide in base alla punteggiatura. Tali scelte altererebbero la fonte.
Offre invece una primitiva deterministica combinabile con fasi separate di pulizia.
Casi d'uso
Controllare le estensioni dei file
Verifichi che un gruppo di nomi condivida la stessa estensione letterale o un suffisso di versione più lungo prima dell’elaborazione.
Esaminare le convenzioni degli identificatori
Individui un marcatore finale fisso comune a codici prodotto, etichette di ticket o identificatori generati esternamente.
Confrontare percorsi esportati
Rilevi una directory finale, un nome di file o un marcatore di formato comune nei percorsi prodotti da una migrazione.
Domande frequenti
Che cosa accade se non esiste una terminazione comune?
Il suffisso è una stringa vuota e la lunghezza restituita è pari a zero.
Il confronto distingue maiuscole e minuscole?
Sì. Sono caratteri diversi e l’input viene confrontato esattamente come Lei lo fornisce.
Un’interruzione finale aggiunge una riga vuota?
No. Una sola interruzione finale termina il file; le righe vuote altrove restano nel confronto.
Come vengono conteggiate le emoji?
La lunghezza usa punti di codice Unicode; molte emoji contano quindi come un carattere anche se JavaScript le memorizza in due unità UTF-16.
Che cosa ottengo se incollo una sola riga?
L'intera riga, perché non c'è un'altra riga che la contraddica. Appena aggiunge un secondo valore, il risultato si riduce ai caratteri che le due righe condividono alla fine.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"text": "report-final.csv\nbackup-final.csv\nexport-final.csv"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.common_suffix",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_chars | 1000000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Individui la terminazione condivisa di un elenco
La risposta include <code>suffix</code>, il numero di caratteri Unicode in <code>length</code> e <code>line_count</code>.
Usi il risultato per convalidare e automatizzare
L’API restituisce JSON strutturato: confronti <code>suffix</code> con la convenzione richiesta, usi <code>length</code> per rimuovere esattamente quei caratteri con codice compatibile Unicode oppure registri <code>line_count</code> come prova del lotto. Il browser è pratico per verifiche rapide; ogni richiesta API costa $0.002 quando Lei automatizza la regola.
Domande tecniche
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. La versione per browser è utilizzabile direttamente in questa pagina.