ForHosting KIT · Texte et IA

Supprimer les lignes vides en haut et en bas

Collez un bloc avec deux lignes vides au-dessus et deux en dessous : ces quatre lignes disparaissent et les trois lignes du centre restent intactes, écarts et retraits compris. Aux bords, une ligne faite seulement d'espaces ou de tabulations compte comme vide. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
Hello world Keep this spacing
Vous obtenez
Entrée
Hello world Keep this spacing
Texte
Hello world Keep this spacing
Nombre de lignes
3
Lignes
Hello world , , Keep this spacing

Les extraits collés et les documents exportés arrivent souvent avec un halo de lignes vides en haut et en bas que personne n’a demandé. Cet outil retire uniquement ces lignes vides des bords et rien d’autre : les paragraphes intérieurs, l’espace supplémentaire laissé entre les sections et le remplissage d’une ligne de contenu restent exactement tels quels. Envoyez n’importe quelle chaîne—un brouillon de courrier, un fichier Markdown, une vidange de journal ou une dissertation—et le moteur normalise les fins de ligne Windows et de l’ancien Mac, avance depuis les deux extrémités jusqu’à une ligne encore visible, puis renvoie le bloc restant. Les lignes uniquement composées d’espaces comptent comme vides, si bien qu’une rangée d’espaces ou une tabulation isolée en tête d’un collage est écartée comme une ligne vraiment vide.

Ce que signifie retirer les lignes vides aux extrémités et pourquoi ce n’est pas String.trim

La plupart des éditeurs exposent un trim de chaîne entière qui ne pèle les espaces qu’au premier et au dernier caractère d’un tampon. C’est le mauvais outil lorsque le désordre qui compte, ce sont des lignes vides empilées au-dessus d’un titre ou après une signature, tandis que le corps a encore besoin de ses interlignes de paragraphe et de ses citations indentées.

Cette capacité parcourt la liste des lignes, pas celle des caractères : après normalisation des fins Windows CRLF et du CR hérité vers LF, le texte est découpé sur LF ; la marche part de l’indice zéro et avance tant que chaque ligne est vide ou ne contient que des espaces Unicode, et une marche jumelle part du dernier indice et recule.

La première et la dernière ligne qui portent encore des caractères visibles deviennent les nouveaux bords ; tout ce qui se trouve entre elles est copié inchangé, y compris les séparateurs blancs que l’on voulait garder et les espaces qui vivent dans une phrase. Une ligne faite seulement d’espaces ou de tabulations est traitée comme vide aux bords, car c’est ainsi que paraissent d’ordinaire les journaux de discussion collés et les documents Word exportés.

Une ligne qui a encore une lettre, un chiffre ou une ponctuation est du contenu même avec une indentation de tête, si bien que les extraits de code et les listes imbriquées gardent leur remplissage de première colonne. L’algorithme ne fusionne jamais deux lignes vides intérieures en une, ne joint jamais les paragraphes et ne rogne jamais la gauche ni la droite d’une ligne de contenu.

Ce contrat est ce que l’on cherche en tapant supprimer lignes vides haut et bas, plutôt que de rogner chaque ligne ou d’effondrer tous les espaces.

Conseils pratiques, limites et recherches associées

Utilisez cette capacité lorsque l’intention de recherche est de retirer les lignes vides en tête et en pied, d’enlever les rangées vides de début et de fin, ou de ranger un extrait collé sans toucher l’espacement intérieur. Gardez les outils frères à l’esprit. Le trim d’espaces par ligne est un autre métier : cette page retire les espaces de chaque ligne et ne supprime pas les rangées vides.

Effondrer tout l’espace et retirer tous les espaces sont aussi d’autres métiers : ils détruisent le rythme intérieur d’un document. Retirer tous les sauts joint le fichier en une seule ligne. Compter les paragraphes ou les lignes rapporte la structure sans la changer.

Préférez cette page lorsque le document est déjà mis en forme et qu’il ne reste qu’à ôter le halo vide avant d’enregistrer, d’envoyer ou d’imprimer. HTML et Markdown sont traités comme du texte brut : les balises ne sont pas retirées, et une ligne de seul balisage compte encore comme contenu si elle a des caractères visibles.

En enseignant ou en formant des relecteurs, montrez le même échantillon avant et après pour que l’on voie que seules les lignes vides des bords changent et que l’espacement interne des mots plus les rangées vides intérieures restent intacts.

Ranger courriers et exports de discussion collés

Ôtez le halo vide au-dessus de la formule d’appel et sous la signature, en gardant la ligne vide qui sépare les paragraphes.

Normaliser devoirs et vidanges Markdown

Enseignants et chaînes de sites statiques retirent les rangées vides de tête et de queue des fichiers soumis avant d’enregistrer ou de rendre le corps.

Cela supprime-t-il les lignes vides au milieu du texte ?

Non. Seules les lignes vides du tout début et de la toute fin sont retirées. Les rangées vides intérieures restent où elles sont.

Les espaces entre les mots ou en tête d’une ligne de contenu sont-ils retirés ?

Non. Les lignes de contenu sont copiées inchangées. L’indentation de tête, les espaces de fin d’une ligne non vide et les doubles espaces dans une phrase sont conservés.

Qu’est-ce qui compte comme ligne vide ?

Une ligne sans caractères, ou une ligne qui ne contient que des espaces tels que espaces ou tabulations. Une ligne avec un caractère visible est du contenu.

Que se passe-t-il si le champ text est omis ?

Une chaîne vide est acceptée et renvoie un document nettoyé vide.

Retirer les lignes vides aux bords est-il gratuit ?

L’outil du navigateur est gratuit et s’exécute en local.

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.

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

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é.

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 est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_chars100000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Le chemin est une analyse déterministe, sans réseau, sans horloge et sans hasard, de sorte que l’exécuteur gratuit du navigateur et l’API renvoient le même JSON à chaque appel.

Comment appeler l’API et ce que contient la réponse

Une chaîne vide est valide : il n’y a pas de lignes de contenu, donc le résultat est un champ text vide, zéro ligne restante et un message qui indique combien de blancs de bord ont été retirés de ce tampon vide. Préférez envoyer le corps multiligne brut plutôt que de le rogner vous-même si vous voulez que les comptes et changed reflètent le collage d’origine. Envoyez un corps JSON avec le champ string obligatoire text. Les alias input, value, string, s, content et body sont acceptés afin que d’anciens clients n’aient pas à renommer la charge. La valeur doit être une chaîne et ne pas dépasser cent mille caractères, un plafond dur qui empêche un seul collage d’épuiser la mémoire du Worker ou du navigateur. Si text manque, si la valeur est null, si le type n’est pas string ou si la charge est trop grande, la réponse est invalid_input et rien n’est facturé. En cas de succès la réponse renvoie input comme la chaîne d’origine envoyée, text comme le résultat rogné aux bords joint avec LF, line_count comme le nombre de lignes restantes y compris les vides intérieures, lines comme ce tableau ordonné, leading_blank_lines et trailing_blank_lines comme les comptes pelés à chaque extrémité, blank_lines_removed comme leur somme, chars_before et chars_after comme les longueurs des chaînes d’origine et nettoyée, changed comme true lorsqu’au moins une ligne vide de bord a été retirée, et message comme un court résumé en anglais. Le tarif est un $0.002 forfaitaire par requête réussie avec unité item. À l’intégration, assertez sur text ou lines pour le document nettoyé, comparez leading_blank_lines et trailing_blank_lines en régression, et traitez invalid_input comme un bug client pour un champ manquant plutôt qu’un événement de facturation.

Conseils pratiques, limites et recherches associées

Les contrôles aller-retour pour les tests sont simples : fournissez deux lignes vides, un titre, un blanc intérieur, une ligne de corps et deux vides de plus, et attendez le titre et le corps avec le blanc intérieur encore entre eux ; fournissez une première ligne uniquement d’espaces et une dernière uniquement de tabulation autour d’un paragraphe et confirmez que ces bords disparaissent tandis que l’indentation du paragraphe reste ; omettez text à dessein pour confirmer que invalid_input nomme le champ. Les tâches échouées qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui maintient bon marché la validation des formulaires et les tests négatifs de CI.

Préparer des fixtures de journal et d’extraits

Les scripts d’assurance qualité collent la sortie console avec des rangées vides en trop aux deux bouts et ont besoin d’une fixture stable qui préserve encore l’espacement intérieur.

Consulter la documentation complète du KIT →