Compter les lignes
Hello, une ligne vide, World et un saut de ligne final font 4 lignes : 2 avec du contenu et 2 vides. Les fins de ligne Windows, Unix et Mac ancien sont reconnues, et chaque saut n'est compté qu'une fois. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- Hello World
- Total des lignes
- 4
- Non vides
- 2
- Lignes vides
- 2
- Lignes
- 4
Compter les lignes est un petit utilitaire qui a pourtant besoin d'un contrat clair : ce qui compte comme saut de ligne, si un saut final crée une ligne vide supplémentaire, et comment les lignes uniquement composées d'espaces sont classées. Ce compteur de lignes accepte un texte non vide, découpe sur retour chariot, saut de ligne ou paires CRLF, puis signale le total des lignes, les lignes non vides qui contiennent au moins un caractère non blanc, et les lignes vides qui sont vides ou ne contiennent que des espaces et des tabulations après trim.
Ce que signifient les comptages de lignes et comment se décide vide versus non vide
Un comptage de lignes répond à trois questions liées que les gens tapent dans la recherche : combien de lignes ce texte a-t-il, combien de ces lignes contiennent réellement du contenu, et combien sont vides. Cette capacité définit une ligne comme un segment entre terminateurs de ligne. Les terminateurs sont le retour chariot, le saut de ligne, ou la paire retour-plus-saut au style Windows traitée comme une seule coupure pour qu'un fichier CRLF ne soit pas compté en double.
Après découpage, chaque segment est classé. Une ligne est non vide lorsque le trim enlève tous les espaces de tête et de queue et qu'il reste quelque chose—lettres, chiffres, ponctuation ou autres caractères visibles. Une ligne est vide lorsque le segment est vide ou devient vide après trim, ce qui couvre les espaces purs, les tabulations et les rangées complètement vides entre paragraphes.
Le total égale non vides plus vides par construction, ainsi vous pouvez affirmer cette identité dans les tests. Une chaîne d'une seule ligne sans aucun saut donne total un et non vides un lorsqu'elle a du contenu. Une chaîne qui se termine par un saut donne un segment vide final, ce qui correspond à la façon dont de nombreux éditeurs et outils de journal exposent une rangée vide supplémentaire en fin de fichier.
Préférez ce calculateur de comptage de lignes lorsque l'intention de recherche est compter les lignes d'un texte, compter les lignes vides, ou le total des lignes non vides en ligne. Ne l'utilisez pas lorsque vous avez besoin de comptages de mots, de caractères comme promesse produit principale, ou de longueurs en octets de fichiers binaires—ce sont d'autres pages.
Cas d’usage
Contrôles d'espacement de brouillons et markdown
Rédacteurs et éditeurs collent des brouillons pour voir le total des lignes face aux rangées d'espacement vides avant de publier des billets de blog ou des fichiers README.
Audits de journaux et collages support
Les outils support comptent les lignes de journal non vides dans les collages clients et signalent le bruit des lignes vides sans installer d'utilitaires shell locaux.
Questions fréquentes
Que se passe-t-il si text est vide ?
Une chaîne de longueur zéro est rejetée et non facturée ; un texte uniquement d'espaces est autorisé et compté comme lignes vides.
Un saut de ligne final compte-t-il comme ligne supplémentaire ?
Oui. Un texte se terminant par un saut de ligne inclut un segment vide final, donc total augmente d'un et blank augmente d'un.
Comment CRLF et LF sont-ils traités ?
Retour chariot, saut de ligne et paires CRLF sont tous traités comme sauts de ligne. CRLF compte comme une seule coupure pour que les fichiers style Windows ne soient pas comptés en double.
Une ligne qui ne contient que des espaces compte-t-elle comme vide ?
Oui. Une ligne est vide si elle ne contient rien ou seulement des espaces et des tabulations ; une lettre, un chiffre ou un signe de ponctuation en fait une ligne de contenu. Un texte fait uniquement d'espaces est accepté et toutes ses lignes sont vides.
Le total est-il toujours la somme des lignes pleines et vides ?
Oui, toujours : chaque ligne est soit pleine, soit vide. Dans l'exemple, 4 lignes au total se répartissent en 2 avec du contenu et 2 vides, ce qui permet de vérifier rapidement un résultat.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"text": "Hello\n\nWorld\n"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.line_count",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
La réponse est un JSON stable que vous pouvez épingler dans des tests, placer dans des formulaires ou appeler depuis des SDK sans réécrire un one-liner dans chaque langage. Une entrée vide échoue avec invalid_input afin que les pipelines ne stockent jamais par accident des charges de longueur nulle.
Contrat d'entrée, rejet du vide et lecture des champs de réponse
Un texte uniquement composé d'espaces est autorisé : ce n'est pas une entrée vide, et il signale correctement toutes les lignes comme vides. Le texte source suit les mêmes règles de rétention que les autres éléments de parse KIT. Envoyez un corps JSON avec le champ chaîne obligatoire text fixé à l'échantillon non vide que vous voulez mesurer. Les alias input, value, s, content et body sont acceptés lorsque d'anciens clients ou générateurs de formulaires utilisent ces noms. text manquant, une valeur non chaîne, ou une chaîne de longueur zéro lèvent invalid_input avec un message qui nomme le problème, et ces échecs ne sont pas facturés sur l'API prépayée. En cas de succès la réponse inclut total comme le nombre de segments de ligne, non_empty comme le comptage des lignes de contenu, blank comme le comptage des lignes vides ou uniquement d'espaces, et des alias de commodité lines égal à total, non_empty_lines égal à non_empty, et empty_lines égal à blank pour que différents noms de champs SDK s'alignent sans colle supplémentaire. character_count est la longueur UTF-16 de la chaîne d'origine pour des contrôles de taille rapides à côté des stats de ligne. original renvoie l'entrée exacte pour que les interfaces montrent des tableaux avant-après sans restocker la charge. method est toujours line_count pour que le code aval puisse brancher sans renifler les formes. Utilisez total seul lorsqu'une barre de progression n'a besoin que du nombre de rangées ; utilisez non_empty lorsque la facturation ou la notation doit ignorer les rangées d'espacement vides ; utilisez blank lorsqu'un guide de style ou une vérification type linter se soucie des lignes vides entre blocs. Gardez les charges à des tailles ordinaires de messages et documents adaptées à un isolat Worker plutôt qu'à des dumps multi-mégaoctets ; ce produit est un utilitaire texte, pas un entrepôt de fichiers en masse.
Usage de l'API, tarification, flux de travail et limites pratiques
Appelez l'outil gratuit de comptage de lignes dans le navigateur pour des contrôles de devoirs, des audits de paste-bin, des aperçus de journaux et des revues rapides de lignes vides sans installer wc ni écrire un script dans chaque langage. Un flux typique colle un brouillon markdown, compte les lignes vides entre sections, puis resserre l'espacement avant publication. Associez ce point de terminaison à des outils de diff ou de format lorsque l'étape suivante est de comparer deux versions ligne par ligne, mais gardez le comptage de lignes comme sa propre page pour que l'intention de recherche count-lines ne se mêle pas aux statistiques de fichier complet ou aux comptages de pages PDF. N'attendez pas de comptage de mots, de découpage de phrases ou de détection de paragraphes sensible à la langue—ce sont des problèmes séparés avec des termes SEO séparés. Utilisez l'API prépayée KIT lorsqu'un CMS, un pipeline de contenu, un harness QA ou un client mobile a besoin du même contrat sous solde à $0.002 par élément réussi ; les échecs de validation ne consomment jamais le solde après le rejet du moteur. Les auteurs qui livrent des SDK peuvent documenter text comme seul champ requis et montrer un exemple de succès multi-lignes plus un exemple d'erreur de chaîne vide pour que les intégrateurs voient les deux côtés du contrat.
Cas d'intégration
Fixtures CI et pipelines de contenu
Les scripts de build épinglent des sorties golden de comptage de lignes pour qu'une mauvaise gestion CRLF ou des régressions d'entrée vide fassent échouer l'intégration continue immédiatement.
Questions techniques
Comment compter les lignes d'un texte avec cet outil ?
Envoyez un JSON avec text fixé à votre chaîne non vide. La réponse renvoie les comptages total, non_empty et blank, plus des alias et character_count.
Le compteur de lignes est-il gratuit ?
L'outil navigateur s'exécute gratuitement sur votre appareil. Les appels API utilisent le solde prépayé KIT à $0.002 par élément réussi ; les échecs de validation ne sont pas facturés.