ForHosting KIT · Texto e IA

Indentar líneas con espacios

Sangre hello y world con 4 espacios y ambas líneas se desplazan a la derecha, con 8 caracteres añadidos en total. Las líneas en blanco reciben los mismos espacios, la sangría existente se conserva y nada cambia dentro de cada línea. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Texto
hello world
Espacios
4
Obtiene
Entrada
hello world
Texto
hello world
Número de líneas
2
Líneas
hello, world

Una herramienta de sangría consciente de las líneas antepone a cada línea de su pegado un número fijo de espacios ASCII para que bloques de código anidados, citas en bloque y listas jerárquicas se alineen sin abrir un IDE. Introduzca cualquier cadena multilínea no vacía—fragmentos de código, volcados de chat, borradores Markdown o extractos de registro—más el entero de espacios iniciales que desee, y la herramienta normaliza los finales de línea, divide por saltos de línea y antepone el mismo tramo de espacios a cada línea dejando el resto intacto. Redactores, desarrolladores, autores de documentación y agentes de soporte necesitan esa misma regla por línea al anidar contenido bajo otro bloque o cuando una guía de estilo pide un desplazamiento de cuatro espacios.

Qué significa la sangría por línea con espacios y cuándo usarla

Usted proporciona el texto y un valor entero no negativo spaces entre cero y doscientos. Tras normalizar los finales Windows CRLF y el CR legado a una forma LF única, la cadena se divide por LF, cada segmento—incluidas las líneas en blanco—recibe un prefijo de exactamente ese número de caracteres de espacio ASCII, y los segmentos se vuelven a unir con LF.

Los espacios iniciales que ya hubiera en una línea se conservan: la herramienta siempre añade la cantidad pedida en lugar de re-sangrar a una columna objetivo, de modo que anidar un bloque que ya tiene dos espacios bajo otro nivel de cuatro espacios produce seis espacios en esas líneas. Los espacios interiores entre palabras permanecen; el contenido final nunca se recorta ni se colapsa. Cero espacios está permitido y devuelve el texto con finales de línea normalizados sin prefijo extra, útil para probar la tubería sin desplazar el contenido.

Un spaces ausente, no entero, negativo o superior a doscientos también falla la validación. Prefiera esta herramienta cuando la intención de búsqueda sea indentar líneas con espacios, añadir espacios iniciales a cada línea o anidar un bloque multilínea bajo Markdown o una cita de correo—no cuando solo necesite rellenar una cadena corta a un ancho fijo.

Consejos prácticos, límites y búsquedas relacionadas

Use esta capacidad cuando la intención de búsqueda sea indentar líneas con espacios, añadir espacios iniciales multilínea, sangrar un bloque de código en línea o anidar texto citado con un tramo fijo de espacios. Deje fuera de alcance los formateadores conscientes del lenguaje: esta herramienta no conoce la significación de profundidad de sangría de Python o YAML más allá de los espacios literales que usted pida, y nunca convierte tabulaciones.

El origen HTML y Markdown siguen sangrando cada línea en bruto de la cadena que envía; quite las etiquetas primero si le importa el texto renderizado y no el marcado. Al enseñar a estudiantes o incorporar revisores, muestre la misma muestra antes y después con spaces en dos y en cuatro para que vean que solo crece el borde inicial de cada línea y que el espaciado interno de las palabras se deja intacto.

Anidar muestras de código bajo documentación

Los autores de documentación pegan un fragmento e indentan cada línea con cuatro espacios para que Markdown o reStructuredText traten el bloque como código anidado bajo un ítem de lista.

Citar respuestas multilínea en tickets

Los agentes de soporte indentan el pegado del cliente con dos espacios (o más) antes de envolverlo en un estilo de cita para que los hilos anidados sigan legibles.

¿Convierte tabulaciones en espacios?

No. Solo antepone caracteres de espacio ASCII. Las tabulaciones existentes dentro o al inicio de una línea no se modifican.

¿Qué ocurre con la entrada vacía?

Proporcione una cadena no vacía con al menos un carácter que no sea espacio en blanco.

¿También se indentan las líneas en blanco?

Sí. Cada línea tras la división—incluidas las vacías—recibe el mismo prefijo de espacios iniciales para que la estructura del bloque se mantenga coherente.

¿Cómo se tratan los finales de línea de Windows?

CRLF y el CR suelto se normalizan a LF antes de dividir, de modo que el mismo pegado produce el mismo resultado en cada plataforma.

¿Es gratuita la herramienta de sangría por línea?

La herramienta del navegador es gratuita y se ejecuta en local.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/str/indent-lines

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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}'
{
  "text": "hello\nworld",
  "spaces": 4
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.indent_lines",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

La entrada vacía o solo de espacios se rechaza con un error invalid_input claro para que la automatización nunca trate un pegado en blanco como una sangría exitosa. La ruta es lógica de cadenas pura y determinista—sin red, sin semillas aleatorias, sin dependencia del reloj—de modo que el ejecutor gratuito del navegador y la API prepaga devuelven el mismo JSON cada vez que la invoca.

Qué significa la sangría por línea con espacios y cuándo usarla

La mayoría de los editores sangran una selección insertando espacios o tabulaciones al inicio de cada línea seleccionada; esta capacidad hace el mismo trabajo como una transformación enfocada y lista para API. La entrada completa vacía o solo de espacios es un error duro: no hay un documento sangrado significativo que devolver, y los clientes deben tratarlo como invalid_input y no como un éxito de cero líneas.

Cómo llamar a la API y qué contiene la respuesta

El valor spaces debe ser un entero finito de cero a doscientos inclusive. Prefiera enviar el cuerpo multilínea en bruto en lugar de unir de antemano las líneas si desea semántica real por línea. Envíe un cuerpo JSON con un campo string obligatorio text (alias input, value, string, s, content y body) y un campo entero obligatorio spaces (alias n, indent, count, amount y pad). El texto debe ser no vacío tras recortar los espacios generales y no debe superar cien mil caracteres para que una sola petición no agote la memoria del Worker o del navegador con pegados enormes. En caso de éxito la respuesta devuelve input como la cadena original enviada, spaces como el entero normalizado aplicado, text como el resultado totalmente sangrado unido con LF, line_count como el número de líneas tras la división (incluidas las vacías), lines como un array ordenado de las cadenas de línea sangradas, chars_before y chars_after como las longitudes de las cadenas original y sangrada, chars_added como cuántos caracteres introdujeron los prefijos en total (típicamente line_count por spaces, ajustado si la normalización de saltos acortó el original), y message como un resumen breve en inglés que informa del recuento de líneas, spaces y caracteres añadidos. La validación fallida—text ausente, un valor que no es string, una carga sobredimensionada, contenido vacío tras el recorte general o un spaces inválido—devuelve invalid_input y nunca se cobra. El precio es un $0.002 fijo por petición exitosa con unidad item. Al integrar, aserte sobre text o lines para el contenido sangrado, compare opcionalmente chars_added en comprobaciones de regresión y trate invalid_input como un error del cliente en envíos de formulario en blanco y no como un evento de facturación.

Consejos prácticos, límites y búsquedas relacionadas

Las comprobaciones de ida y vuelta para pruebas son fáciles: envíe dos líneas cortas con spaces igual a cuatro y espere que cada línea empiece con cuatro espacios; envíe una línea en blanco entre contenido y confirme que esa línea vacía también lleva el mismo prefijo; envíe deliberadamente cadena vacía o solo espacios para confirmar invalid_input y el mensaje que pide una cadena no vacía; envíe un spaces negativo o un decimal para confirmar invalid_input en el campo de recuento. Si necesita quitar espacios iniciales y finales por línea en lugar de añadir espacios, use la herramienta hermana de recorte por línea; si necesita rellenar una sola cadena a un ancho total con un carácter de relleno a izquierda o derecha, use el relleno de cadena; si necesita JSON con sangría estructural, use un formateador JSON. Las tareas fallidas que devuelven invalid_input no consumen saldo prepagado, lo que mantiene barata la validación de formularios y las pruebas negativas de CI. Respete los topes de caracteres y de spaces documentados arriba al enviar volcados grandes por la API.

Pruebas unitarias de preprocesadores de texto

Genere fixtures multilínea sangrados de referencia y rechazos de entrada vacía o recuento inválido para editores, etapas ETL y pipelines de markdown.

Ver la documentación completa del KIT →