ForHosting KIT · Testi e IA

Rimuovere righe vuote in alto e in basso

Incolli un blocco con due righe vuote sopra e due sotto: quelle quattro spariscono e le tre righe centrali restano intatte, con spazi e rientri. Ai bordi, una riga con soli spazi o tabulazioni conta come vuota. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Testo
Hello world Keep this spacing
Ottiene
Input
Hello world Keep this spacing
Testo
Hello world Keep this spacing
Numero di righe
3
Righe
Hello world , , Keep this spacing

I frammenti incollati e i documenti esportati arrivano spesso con un alone di righe vuote in cima e in fondo che nessuno ha chiesto. Questo strumento rimuove solo quelle righe vuote ai bordi e nient’altro: i paragrafi interni, lo spazio extra lasciato tra le sezioni e il riempimento di una riga con contenuto restano esattamente come sono. Invii qualsiasi stringa—una bozza di posta, un file Markdown, un dump di registro o un tema—e il motore normalizza le terminazioni di riga di Windows e del vecchio Mac, avanza da entrambe le estremità fino a una riga con testo visibile e restituisce il blocco restante. Le righe fatte solo di spazi contano come vuote, così una fila di spazi o una tabulazione isolata all’inizio di un incolla viene scartata come una riga davvero vuota.

Che cosa significa togliere le righe vuote ai bordi e perché non è String.trim

La maggior parte degli editor offre un trim di stringa intera che pela gli spazi solo dal primo e dall’ultimo carattere di un buffer. È lo strumento sbagliato quando il disordine che conta sono righe vuote impilate sopra un titolo o dopo una firma, mentre il corpo ha ancora bisogno dei vuoti di paragrafo e delle citazioni rientrate.

Questa capacità percorre l’elenco delle righe, non quello dei caratteri: dopo la normalizzazione delle terminazioni Windows CRLF e del CR legacy in LF, il testo viene diviso su LF; il cammino parte dall’indice zero e avanza finché ogni riga è vuota o contiene solo spazi Unicode, e un cammino gemello parte dall’ultimo indice e arretra.

La prima e l’ultima riga che hanno ancora caratteri visibili diventano i nuovi bordi; tutto ciò che sta in mezzo viene copiato invariato, compresi i separatori vuoti che si voleva conservare e gli spazi che vivono dentro una frase. Una riga fatta solo di spazi o tabulazioni è trattata come vuota ai bordi, perché così appaiono di solito i registri di chat incollati e i documenti Word esportati.

Una riga che ha ancora una lettera, una cifra o un segno di punteggiatura è contenuto anche con rientro iniziale, così i campioni di codice e gli elenchi nidificati conservano il riempimento della prima colonna. L’algoritmo non fonde mai due righe vuote interne in una, non unisce mai i paragrafi e non ritaglia mai la sinistra né la destra di una riga con contenuto. Quel contratto è ciò che si cerca digitando togliere righe vuote inizio e fine, non ritagliare ogni riga né collassare tutto lo spazio.

Suggerimenti pratici, limiti e ricerche correlate

Usi questa capacità quando l’intento di ricerca è togliere le righe vuote dall’inizio e dalla fine, rimuovere le file vuote di testa e di coda, oppure riordinare un frammento incollato senza toccare la spaziatura interna. Tenga presenti gli strumenti fratelli. Il ritaglio degli spazi per riga è un altro mestiere: quella pagina toglie gli spazi da ogni riga e non elimina le file vuote.

Collassare tutto lo spazio e togliere tutti gli spazi sono altri mestieri: distruggono il ritmo interno di un documento. Togliere tutte le interruzioni unisce il file in una sola riga. Contare paragrafi o righe riferisce la struttura senza cambiarla.

Preferisca questa pagina quando il documento è già impaginato e serve solo togliere l’alone vuoto prima di salvare, inviare o stampare. HTML e Markdown sono trattati come testo grezzo: i tag non vengono rimossi, e una riga solo di markup conta ancora come contenuto se ha caratteri visibili. Insegnando o formando i revisori, mostri lo stesso campione prima e dopo così si vede che cambiano solo le righe vuote dei bordi e che la spaziatura interna alle parole più le file vuote interne restano intatte.

Riordinare posta ed esportazioni di chat incollate

Tolga l’alone vuoto sopra il saluto e sotto la firma, conservando la riga vuota che separa i paragrafi.

Normalizzare compiti e dump Markdown

Docenti e pipeline di siti statici scartano le file vuote iniziali e finali dei file inviati prima di salvare o rendere il corpo.

Questo cancella le righe vuote in mezzo al testo?

No. Vengono rimosse solo le righe vuote del principio assoluto e della fine assoluta. Le file vuote interne restano dove sono.

Gli spazi tra le parole o all’inizio di una riga con contenuto vengono rimossi?

No. Le righe con contenuto vengono copiate invariate. Il rientro iniziale, gli spazi finali di una riga non vuota e i doppi spazi dentro una frase sono conservati.

Che cosa conta come riga vuota?

Una riga senza caratteri, oppure una che contiene solo spazi come spazi o tabulazioni. Una riga con un qualsiasi carattere visibile è contenuto.

Che cosa succede se si omette il campo text?

Una stringa vuota è accettata e restituisce un documento pulito vuoto.

Togliere le righe vuote ai bordi è gratis?

Lo strumento del browser è gratuito e viene eseguito in locale.

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.

POSThttps://api.kit.forhosting.com/str/trim-blank-edges

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/str/trim-blank-edges \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"\n\n  Hello world  \n\nKeep  this  spacing\n\n"}'
{
  "text": "\n\n  Hello world  \n\nKeep  this  spacing\n\n"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.trim_blank_edges",
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_chars100000
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Il percorso è un’analisi deterministica, senza rete, senza orologio e senza caso, così l’esecutore gratuito del browser e l’API restituiscono lo stesso JSON a ogni chiamata.

Come chiamare l’API e che cosa contiene la risposta

Una stringa vuota è valida: non ci sono righe di contenuto, quindi il risultato è un campo text vuoto, zero righe restanti e un message che indica quanti bianchi di bordo sono stati tolti da quel buffer vuoto. Preferisca inviare il corpo multilinea grezzo piuttosto che ritagliarlo in anticipo se vuole che i conteggi e changed riflettano l’incolla originale. Invii un corpo JSON con il campo string obbligatorio text. Gli alias input, value, string, s, content e body sono accettati così i client più vecchi non devono rinominare il payload. Il valore deve essere una stringa e non superare centomila caratteri, un tetto rigido che impedisce a un solo incolla di esaurire la memoria del Worker o del browser. Se manca text, se arriva null, se il tipo non è string o se il payload è troppo grande, la risposta è invalid_input e non si addebita nulla. In caso di successo la risposta restituisce input come la stringa originale inviata, text come il risultato ritagliato ai bordi unito con LF, line_count come il numero di righe restanti comprese le vuote interne, lines come quell’array ordinato, leading_blank_lines e trailing_blank_lines come i conteggi pelati da ciascuna estremità, blank_lines_removed come la loro somma, chars_before e chars_after come le lunghezze della stringa originale e di quella pulita, changed come true quando è stata tolta almeno una riga vuota di bordo, e message come un breve riepilogo in inglese. Il prezzo è un $0.002 fisso per richiesta riuscita con unità item. In integrazione, asserisca su text o lines per il documento pulito, confronti leading_blank_lines e trailing_blank_lines nelle regressioni e tratti invalid_input come un errore del client per un campo assente, non come un evento di fatturazione.

Suggerimenti pratici, limiti e ricerche correlate

I controlli andata e ritorno per i test sono semplici: invii due righe vuote, un titolo, un vuoto interno, una riga di corpo e altre due vuote, e si aspetti il titolo e il corpo con il vuoto interno ancora in mezzo; invii una prima riga solo di spazi e un’ultima solo di tabulazione intorno a un paragrafo e confermi che quei bordi spariscono mentre il rientro del paragrafo resta; ometta text di proposito per confermare che invalid_input nomina il campo. Le attività fallite che restituiscono invalid_input non consumano il saldo prepagato, il che mantiene economica la convalida dei moduli e i test negativi di CI.

Preparare fixture di registro e frammenti

Gli script di QA incollano l’uscita della console con file vuote extra a entrambe le estremità e necessitano di una fixture stabile che preservi ancora la spaziatura interna.

Leggi la documentazione completa del KIT →