Contare le righe
Hello, una riga vuota, World e un a capo finale fanno 4 righe: 2 con contenuto e 2 vuote. I fine riga di Windows, Unix e dei vecchi Mac vengono riconosciuti, e ogni interruzione conta una volta sola. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Hello World
- Totale righe
- 4
- Con contenuto
- 2
- Vuote
- 2
- Righe
- 4
Contare le righe è una piccola utilità che ha comunque bisogno di un contratto chiaro: cosa conta come interruzione di riga, se un a capo finale crea una riga vuota extra, e come si classificano le righe solo con spazi. Questo contatore di righe accetta testo non vuoto, divide su ritorno a capo, line feed o coppie CRLF, poi riporta le righe totali, le righe non vuote che contengono almeno un carattere non bianco, e le righe vuote che sono vuote o solo spazi e tab dopo il trim.
Cosa significano i conteggi di riga e come si decide vuoto versus non vuoto
Un conteggio di righe risponde a tre domande collegate che le persone digita no nella ricerca: quante righe ha questo testo, quante di quelle righe contengono davvero contenuto, e quante sono vuote. Questa capacità definisce una riga come un segmento tra terminator i di riga. I terminator i sono ritorno a capo, line feed, o la coppia ritorno-più-line-feed in stile Windows trattata come un'unica interruzione così un file CRLF non viene contato due volte.
Dopo lo split, ogni segmento viene classificato. Una riga è non vuota quando il trim rimuove tutti gli spazi iniziali e finali e resta qualcosa—lettere, cifre, punteggiatura o altri caratteri visibili. Una riga è vuota quando il segmento è vuoto o diventa vuoto dopo il trim, il che copre spazi puri, tab e righe completamente vuote tra paragrafi.
Il totale è uguale a non vuote più vuote per costruzione, così può affermare quell'identità nei test. Una stringa di una sola riga senza alcun a capo produce totale uno e non vuote uno quando ha contenuto. Una stringa che termina con a capo produce un segmento vuoto finale, che corrisponde a come molti editor e strumenti di log espongono una riga vuota extra in fondo al file.
Preferisca questo calcolatore di conteggio righe quando l'intento di ricerca è contare le righe in un testo, contare le righe vuote, o il totale delle righe non vuote online. Non lo usi quando le servono conteggi di parole, di caratteri come promessa principale del prodotto, o lunghezze in byte di file binari—quelle sono landing diverse.
Casi d'uso
Controlli di spaziatura su bozze e markdown
Scrittori e editori incollano bozze per vedere le righe totali rispetto alle righe spaziatrici vuote prima di pubblicare post di blog o file README.
Audit di log e incolla del supporto
Gli strumenti di supporto contano le righe di log non vuote negli incolla dei clienti e segnalano il rumore delle righe vuote senza installare utilità shell locali.
Domande frequenti
Cosa succede se text è vuoto?
Una stringa di lunghezza zero è rifiutata e non addebitata; il testo solo spazi è consentito e contato come righe vuote.
Un a capo finale conta come riga extra?
Sì. Il testo che termina con un'interruzione di riga include un segmento vuoto finale, quindi total aumenta di uno e blank aumenta di uno.
Il contatore di righe è gratis?
Lo strumento browser gira gratis sul Suo dispositivo.
Come sono gestiti CRLF e LF?
Ritorno a capo, line feed e coppie CRLF sono tutti trattati come interruzioni di riga. CRLF conta come un'unica interruzione così i file in stile Windows non sono contati due volte.
Una riga con soli spazi conta come vuota?
Sì. Una riga è vuota quando non contiene nulla o solo spazi e tabulazioni; qualsiasi lettera, cifra o segno di punteggiatura la rende una riga con contenuto. Un testo fatto solo di spazi è accettato e tutte le sue righe risultano vuote.
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/line-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello\n\nWorld\n"}'const res = await fetch("https://api.kit.forhosting.com/str/line-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello\n\nWorld\n"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/line-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello\n\nWorld\n"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/line-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello\\n\\nWorld\\n"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello\n\nWorld\n"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/line-count", 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": "Hello\n\nWorld\n"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.line_count",
"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
La risposta è JSON stabile che può fissare nei test, inserire nei form o chiamare da SDK senza scrivere un altro one-liner in ogni linguaggio. L'input vuoto fallisce con invalid_input così le pipeline non memorizzano mai per caso payload di lunghezza zero.
Contratto di input, rifiuto del vuoto e lettura dei campi di risposta
Il testo solo spazi è consentito: non è input vuoto, e riporta correttamente tutte le righe come vuote. Il testo sorgente segue le stesse regole di retention degli altri item di parse KIT. Invii un corpo JSON con il campo stringa obbligatorio text impostato al campione non vuoto che vuole misurare. Gli alias input, value, s, content e body sono accettati quando client più vecchi o generatori di form usano quei nomi. text assente, un valore non stringa, o una stringa di lunghezza zero sollevano invalid_input con un messaggio che nomina il problema, e quei fallimenti non sono addebitati sull'API prepagata. In caso di successo la risposta include total come il numero di segmenti di riga, non_empty come il conteggio delle righe con contenuto, blank come il conteggio delle righe vuote o solo spazi, e alias di comodità lines uguale a total, non_empty_lines uguale a non_empty, e empty_lines uguale a blank così diversi nomi di campo SDK mappano senza colla extra. character_count è la lunghezza UTF-16 della stringa originale per controlli rapidi di dimensione accanto alle statistiche di riga. original ecoa l'input esatto così le UI possono mostrare tabelle prima-e-dopo senza riarchiviare il payload. method è sempre line_count così il codice a valle può ramificare senza annusare le forme. Usi total da solo quando una barra di avanzamento ha bisogno solo di quante righe esistono; usi non_empty quando fatturazione o valutazione devono ignorare le righe spaziatrici vuote; usi blank quando una guida di stile o un controllo stile linter si preoccupa delle righe vuote tra blocchi. Mantenga i payload a dimensioni ordinarie di messaggi e documenti adatte a un isolato Worker piuttosto che dump multi-megabyte; questo prodotto è un'utilità di testo, non un magazzino file massivo.
Uso dell'API, prezzi, flussi di lavoro e limiti pratici
Chiami lo strumento gratuito di conteggio righe nel browser per controlli di compiti, audit di paste-bin, anteprime di log e revisioni rapide di righe vuote senza installare wc o scrivere uno script in ogni linguaggio. Un flusso tipico incolla bozza markdown, conta le righe vuote tra sezioni, poi stringe la spaziatura prima della pubblicazione. Non si aspetti conteggio parole, split di frasi o rilevamento di paragrafi consapevole della lingua—sono problemi separati con termini SEO separati. Usi l'API prepagata KIT quando un CMS, una pipeline di contenuti, un harness QA o un client mobile necessita dello stesso contratto sotto saldo a $0.002 per item riuscito; i fallimenti di validazione non consumano mai il saldo dopo il rifiuto del motore. Accoppi questo endpoint con strumenti di diff o formato quando il passo successivo è confrontare due versioni riga per riga, ma mantenga contare le righe come landing propria così l'intento di ricerca count-lines non si mescola con statistiche di file interi o conteggi di pagine PDF. Gli autori che spediscono SDK possono documentare text come unico campo richiesto e mostrare un esempio di successo multi-riga più un esempio di errore stringa vuota così gli integratori vedono entrambi i lati del contratto.
Casi di integrazione
Fixture CI e pipeline di contenuti
Gli script di build fissano output golden di conteggio righe così una gestione errata di CRLF o regressioni di input vuoto fanno fallire subito l'integrazione continua.
Domande tecniche
Come conto le righe in un testo con questo strumento?
Invii JSON con text impostato alla Sua stringa non vuota. La risposta restituisce i conteggi total, non_empty e blank, più alias e character_count.