Indenter les lignes par espaces
Indentez hello et world de 4 espaces : les deux lignes se décalent vers la droite, avec 8 caractères ajoutés au total. Les lignes vides reçoivent les mêmes espaces, l'indentation existante est gardée et rien ne change à l'intérieur des lignes. 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
- Espaces
- 4
- Entrée
- hello world
- Texte
- hello world
- Nombre de lignes
- 2
- Lignes
- hello, world
Un outil d’indentation conscient des lignes préfixe chaque ligne de votre collage d’un nombre fixe d’espaces ASCII afin que les blocs de code imbriqués, les citations et les listes hiérarchiques s’alignent sans ouvrir un IDE. Saisissez toute chaîne multiligne non vide—extraits de code, dumps de chat, brouillons Markdown ou extraits de journal—plus l’entier d’espaces initiaux souhaité, et l’outil normalise les fins de ligne, découpe sur les sauts de ligne et préfixe chaque ligne du même run d’espaces tout en laissant le reste intact. Rédacteurs, développeurs, auteurs de documentation et agents de support ont besoin de cette même règle par ligne lorsqu’ils imbriquent un contenu sous un autre bloc ou qu’un guide de style demande un décalage de quatre espaces.
Ce que signifie l’indentation par ligne avec des espaces et quand l’utiliser
Vous fournissez le texte et une valeur entière non négative spaces entre zéro et deux cents. Après normalisation des fins Windows CRLF et du CR historique en une forme LF unique, la chaîne est découpée sur LF, chaque segment—y compris les lignes vides—reçoit un préfixe d’exactement ce nombre de caractères espace ASCII, puis les segments sont réunis avec LF.
Les espaces initiaux déjà présents sur une ligne sont conservés : l’outil ajoute toujours la quantité demandée au lieu de réindenter vers une colonne cible, si bien qu’imbriquer un bloc déjà à deux espaces sous un autre niveau de quatre espaces donne six espaces sur ces lignes. Les espaces intérieurs entre les mots restent ; le contenu final n’est jamais rogné ni compacté. Zéro espace est autorisé et renvoie le texte aux fins de ligne normalisées sans préfixe supplémentaire, utile pour tester le pipeline sans décaler le contenu.
Un spaces manquant, non entier, négatif ou supérieur à deux cents échoue aussi à la validation. Préférez cet outil lorsque l’intention de recherche est d’indenter des lignes par espaces, d’ajouter des espaces en tête de chaque ligne, ou d’imbriquer un bloc multiligne sous Markdown ou une citation d’e-mail—pas lorsque vous voulez seulement remplir une courte chaîne à une largeur fixe.
Conseils pratiques, limites et recherches associées
Utilisez cette capacité lorsque l’intention de recherche est d’indenter des lignes par espaces, d’ajouter des espaces en tête multiligne, d’indenter un bloc de code en ligne, ou d’imbriquer un texte cité avec un run fixe d’espaces. Laissez hors périmètre les formateurs sensibles au langage : cet outil ne connaît pas la signification de profondeur d’indentation de Python ou YAML au-delà des espaces littéraux demandés, et ne convertit jamais les tabulations.
La source HTML et Markdown indentent encore chaque ligne brute de la chaîne envoyée ; retirez d’abord les balises si le texte rendu compte plus que le balisage. En formant des étudiants ou des relecteurs, montrez le même échantillon avant et après avec spaces à deux puis à quatre pour qu’ils voient que seul le bord initial de chaque ligne s’allonge et que l’espacement interne des mots reste intact.
Cas d’usage
Imbriquer des extraits de code sous la documentation
Les auteurs de docs collent un extrait et indentent chaque ligne de quatre espaces pour que Markdown ou reStructuredText traitent le bloc comme du code imbriqué sous un élément de liste.
Citer des réponses multilignes dans les tickets
Les agents de support indentent le collage client de deux espaces (ou plus) avant de l’envelopper dans un style de citation afin que les fils imbriqués restent lisibles.
Questions fréquentes
Cela convertit-il les tabulations en espaces ?
Non. L’outil ne préfixe que des caractères espace ASCII. Les tabulations existantes dans ou en tête d’une ligne restent inchangées.
Que se passe-t-il avec une entrée vide ?
Fournissez une chaîne non vide avec au moins un caractère non blanc.
Les lignes vides sont-elles aussi indentées ?
Oui. Chaque ligne après la découpe—y compris les vides—reçoit le même préfixe d’espaces initiaux pour que la structure du bloc reste cohérente.
Comment les fins de ligne Windows sont-elles gérées ?
CRLF et le CR isolé sont normalisés en LF avant la découpe, de sorte que le même collage produit le même résultat sur chaque plateforme.
L’outil d’indentation par ligne est-il gratuit ?
L’outil navigateur est gratuit et s’exécute en local.
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/indent-lines \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello\nworld","spaces":4}'const res = await fetch("https://api.kit.forhosting.com/str/indent-lines", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello\nworld",
"spaces": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/indent-lines",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello\nworld",
"spaces": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/indent-lines", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello\\nworld","spaces":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello\nworld","spaces":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/indent-lines", 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\nworld",
"spaces": 4
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.indent_lines",
"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
Une entrée vide ou uniquement blanche est rejetée avec une erreur invalid_input claire pour que l’automatisation ne traite jamais un collage vide comme une indentation réussie. Le chemin est une logique de chaînes pure et déterministe—sans réseau, sans graines aléatoires, sans horloge—de sorte que l’exécuteur gratuit du navigateur et l’API prépayée renvoient le même JSON à chaque appel.
Ce que signifie l’indentation par ligne avec des espaces et quand l’utiliser
La plupart des éditeurs indentent une sélection en insérant des espaces ou des tabulations au début de chaque ligne sélectionnée ; cette capacité fait le même travail sous forme de transformation ciblée et prête pour l’API. Une entrée entièrement vide ou uniquement blanche est une erreur dure : il n’y a pas de document indenté significatif à renvoyer, et les clients doivent le traiter comme invalid_input plutôt qu’un succès à zéro ligne.
Comment appeler l’API et ce que contient la réponse
La valeur spaces doit être un entier fini de zéro à deux cents inclus. Préférez envoyer le corps multiligne brut plutôt que de rejoindre les lignes à l’avance si vous voulez une sémantique réelle par ligne. Envoyez un corps JSON avec le champ string obligatoire text (alias input, value, string, s, content et body) et le champ entier obligatoire spaces (alias n, indent, count, amount et pad). Le texte doit être non vide après un trim global des blancs et ne doit pas dépasser cent mille caractères afin qu’une seule requête n’épuise pas la mémoire du Worker ou du navigateur sur d’énormes collages. En cas de succès, la réponse renvoie input comme la chaîne d’origine envoyée, spaces comme l’entier normalisé appliqué, text comme le résultat entièrement indenté joint avec LF, line_count comme le nombre de lignes après découpe (y compris les vides), lines comme un tableau ordonné des chaînes de ligne indentées, chars_before et chars_after comme les longueurs des chaînes d’origine et indentée, chars_added comme le nombre de caractères introduits par les préfixes au total (typiquement line_count multiplié par spaces, ajusté si la normalisation des sauts a raccourci l’original), et message comme un bref résumé en anglais qui indique le nombre de lignes, spaces et caractères ajoutés. Une validation échouée—text manquant, valeur non string, charge trop grande, contenu vide après trim global, ou spaces invalide—renvoie invalid_input et n’est jamais facturée. Le tarif est un $0.002 forfaitaire par requête réussie avec l’unité item. À l’intégration, assert sur text ou lines pour le contenu indenté, comparez éventuellement chars_added pour les régressions, et traitez invalid_input comme une erreur client sur les formulaires vides 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 : envoyez deux lignes courtes avec spaces égal à quatre et attendez que chaque ligne commence par quatre espaces ; envoyez une ligne vide entre du contenu et confirmez que cette ligne vide porte aussi le même préfixe ; envoyez délibérément une chaîne vide ou uniquement des espaces pour confirmer invalid_input et le message demandant une chaîne non vide ; envoyez un spaces négatif ou un flottant pour confirmer invalid_input sur le champ de compte. Si vous devez retirer les blancs en tête et en fin de chaque ligne plutôt qu’ajouter des espaces, utilisez l’outil frère de trim par ligne ; si vous devez remplir une seule chaîne à une largeur totale avec un caractère de remplissage à gauche ou à droite, utilisez le pad de chaîne ; si vous avez besoin de JSON avec indentation structurelle, utilisez un formateur JSON. Les tâches en échec qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui maintient bon marché la validation de formulaires et les tests négatifs de CI. Respectez les plafonds de caractères et de spaces documentés ci-dessus lors de l’envoi de grands dumps via l’API.
Cas d'intégration
Tests unitaires de préprocesseurs de texte
Générez des fixtures multilignes indentées de référence et des rejets d’entrée vide ou de compte invalide pour éditeurs, étapes ETL et pipelines markdown.