Allineare testo in colonne
Incolli «name,age,city», «Alice,30,NY» e «Bob,25,Los Angeles» e otterrà tre colonne pulite di 5, 3 e 11 caratteri, distanziate da due spazi e leggibili in qualsiasi vista a spaziatura fissa. Senza aprire un foglio di calcolo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- name,age,city Alice,30,NY Bob,25,Los Angeles
- Delimitatore
- ,
- Allinea
- Left
- Gap
- 2
- Righe
- 3
- Colonne
- 3
- Larghezze delle colonne
- 5, 3, 11
- Numero di righe
- 3
I collaggi tabulari disordinati —esportazioni CSV con lunghezze irregolari, log uniti da pipe o elenchi con tabulazioni scritti a mano— sono difficili da scorrere finché ogni colonna non è allineata. Questo strumento prende testo multilinea, divide ogni riga sul delimitatore scelto, misura il valore più largo di ogni colonna e riempie ogni cella affinché la tabella si legga con chiarezza in qualsiasi vista monospaziata. Lei controlla l’allineamento (sinistra, destra o centro), lo spazio tra le colonne e se i campi vengono tagliati prima della misura. Non c’è rete nel motore, né modello né dipendenza dall’orologio: input identici producono sempre la stessa uscita allineata e gli stessi metadati di larghezza colonna per test e pipeline.
Come funziona l’allineamento delle colonne su testo delimitato
L’allineamento delle colonne è un classico problema di layout a larghezza fissa: tratti ogni riga come una serie di campi, scopra quanto deve essere larga ogni colonna per contenere la cella più lunga, poi riempia ogni cella più corta finché le colonne visive non si impilano. Questa capacità prima divide l’input sulle interruzioni di riga (supporta LF, CRLF e CR semplice), poi divide ogni riga non vuota sul delimitatore configurato —virgola per impostazione predefinita, oppure tabulazione, pipe, punto e virgola, o qualsiasi stringa breve personalizzata che Lei indichi.
Il trim opzionale dei campi rimuove spazi iniziali e finali prima di misurare la larghezza, così spazi accidentali in un collaggio CSV non gonfiano una colonna. Le righe irregolari con meno campi della riga più larga si completano con stringhe vuote affinché ogni riga abbia lo stesso numero di colonne.
Per ogni colonna il motore memorizza la lunghezza massima di cella, poi riempie ogni cella a quella larghezza: l’allineamento a sinistra aggiunge spazi in coda, a destra in testa, e al centro ripartisce il budget di riempimento con il floor a sinistra e il resto a destra per un centro stabile e deterministico. Le colonne si ricongiungono con un intervallo configurabile di soli spazi (due per impostazione predefinita), nello stile familiare di column -t per tabelle monospaziate, senza reinserire il delimitatore originale nella visualizzazione.
Le righe di origine vuote restano righe vuote in uscita così le interruzioni di sezione del collaggio sopravvivono.
Dove le colonne allineate valgono nel lavoro reale
I team di supporto e operazioni incollano frammenti CSV dai ticket e hanno bisogno di una tabella monospaziata leggibile a colpo d’occhio in chat o in un runbook senza aprire un foglio di calcolo. Sviluppatori e SRE trasformano uscite di probe separate da pipe o tabulazioni in colonne allineate per note di incidente, descrizioni di pull request e log di terminale che restano leggibili quando i valori differiscono in lunghezza.
Il personale di data e analytics allinea a destra le colonne numeriche e a sinistra le etichette così le tabelle miste rispettano le convenzioni visive dei report finanziari prima di copiarle nella documentazione. Educatori e redattori tecnici costruiscono esempi didattici di layout a larghezza fissa e concetti di delimitatore senza installare utilità column su ogni macchina studente.
Preferisca questa pagina quando l’intento di ricerca è allineare testo in colonne, riempire campi delimitati o rendere un CSV disordinato leggibile come tabella; se deve convertire prosa in una tabella Markdown con un LLM, unire file CSV o riempire una singola stringa a una larghezza fissa, usi quegli strumenti dedicati invece di forzare questo contratto.
Casi d'uso
Abbellire collaggi CSV e TSV
Trasformi esportazioni irregolari separate da virgole o tabulazioni in una tabella monospaziata da incollare in ticket, documentazione e chat senza aprire un foglio di calcolo.
Allineare uscite CLI e di probe
Riempia l’uscita di comandi delimitata da pipe o spazi affinché le colonne di stato si allineino in note di incidente, descrizioni di PR e runbook.
Allineare i numeri a destra in tabelle miste
Usi l’allineamento a destra sulle colonne numeriche e a sinistra sulle etichette così frammenti finanziari o di inventario seguono le convenzioni dei report in font monospaziati.
Domande frequenti
Come allinea testo delimitato in colonne?
Invii testo multilinea con un delimitatore (virgola per impostazione predefinita).
Quali delimitatori sono supportati?
Qualsiasi stringa non vuota fino a otto caratteri. Scelte comuni: virgola, tabulazione, pipe (|) e punto e virgola. Il predefinito è la virgola. Può inviare la sequenza di due caratteri \t per una tabulazione.
L’allineamento mantiene il delimitatore originale in uscita?
No. I campi vengono riempiti e ricongiunti con un intervallo configurabile di spazi (due per impostazione predefinita), nello stile classico di column -t, per una lettura monospaziata pulita.
Cosa succede con righe irregolari o righe vuote?
Le righe più corte si completano con celle vuote fino alla riga più larga. Le righe di origine completamente vuote restano righe vuote nell’uscita allineata.
Quanto costa?
Lo strumento nel browser è gratuito e gira in locale.
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/align-columns \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"name,age,city\nAlice,30,NY\nBob,25,Los Angeles"}'const res = await fetch("https://api.kit.forhosting.com/str/align-columns", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "name,age,city\nAlice,30,NY\nBob,25,Los Angeles"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/align-columns",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "name,age,city\nAlice,30,NY\nBob,25,Los Angeles"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/align-columns", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"name,age,city\\nAlice,30,NY\\nBob,25,Los Angeles"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"name,age,city\nAlice,30,NY\nBob,25,Los Angeles"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/align-columns", 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": "name,age,city\nAlice,30,NY\nBob,25,Los Angeles"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.align_columns",
"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.
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
Come funziona l’allineamento delle colonne su testo delimitato
Carichi eccessivi, troppe righe o colonne, testo vuoto o delimitatore vuoto falliscono con invalid_input invece di troncare i dati in silenzio.
Contratto di ingresso, forma della risposta e regole di validazione
Controllo classico: name,age,city poi Alice,30,NY poi Bob,25,Los Angeles con virgola predefinita e gap due produce tre colonne allineate a sinistra la cui colonna città è abbastanza larga per Los Angeles e le cui celle più corte sono riempite di spazi così un font monospaziato mostra bordi verticali puliti. Usi il modulo gratuito del browser per formattare incolla e copia; poi richiami lo stesso contratto dagli script quando normalizza l’uscita CLI, tabelle README o ticket di supporto prima della pubblicazione. Invii con POST un corpo JSON con il text obbligatorio: una stringa multilinea di campi delimitati. Il delimiter opzionale ha come predefinito la virgola e accetta alias come sep o delim; scriva un vero carattere di tabulazione o la sequenza di due caratteri barra-rovesciata-t quando i client non possono incorporare facilmente caratteri di controllo. L’align opzionale si normalizza a left, right o center (alias l, r, c, start, end, middle). Il gap opzionale è un intero non negativo di spazi tra colonne riempite, due per impostazione predefinita, con un tetto affinché una sola richiesta non faccia esplodere la dimensione dell’uscita. trim_fields è opzionale e predefinito true; lo imposti a false quando gli spazi iniziali interni sono significativi e devono restare. In caso di successo la risposta riecheggia le opzioni normalizzate e restituisce aligned (la tabella multilinea completa), rows (conteggio delle righe di origine non vuote), columns (larghezza della matrice), column_widths (larghezze per colonna usate per il riempimento), line_count comprese le righe vuote, e operation impostato ad align_columns. Testo mancante o vuoto, delimitatore vuoto, flag di trim non booleani, valori di align fuori dall’insieme consentito o dimensioni oltre i massimi documentati sollevano invalid_input e non vengono fatturati. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento.
Dove le colonne allineate valgono nel lavoro reale
Poiché questa capacità è parse puro di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita, e la validazione fallita non consuma il saldo prepagato.