Unir líneas con un separador
Tres líneas con apple, banana y cherry pasan a ser apple, banana, cherry en una sola línea. Las filas en blanco se omiten por defecto, se recortan los espacios de cada línea y puede usar barra vertical, punto y coma, tabulación o nada. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- apple banana cherry
- Texto
- apple, banana, cherry
- Original
- apple banana cherry
- Separador
- ,
- Cantidad
- 3
Unir líneas con un separador es el trabajo cotidiano de convertir una lista vertical en una sola cadena en línea: etiquetas para una celda CSV, correos para un campo CCO, SKU para un parámetro de consulta o nombres para un encabezado separado por comas. Esta herramienta lee el texto multilínea, lo parte por saltos de Windows, Unix, Mac clásico y Unicode, omite filas en blanco si lo desea y une las líneas restantes con el delimitador que elija: coma y espacio por defecto, o una barra vertical, un punto y coma, un tabulador u otro pegamento. A diferencia de las herramientas que solo cambian cada salto por un espacio, trata cada línea como un ítem de lista y realiza una unión al estilo Array.join, de modo que las filas vacías no se convierten en delimitadores extra salvo que usted lo pida. La respuesta devuelve el resultado de una sola línea, el separador usado, cuántas líneas se vieron, cuántas piezas se unieron y un eco del pegado original.
Cómo funciona de verdad unir líneas con un separador
Unir líneas con un separador es una transformación de lista, no un desenvolvimiento de párrafo. El separador por defecto es una coma seguida de un espacio, que es lo que busca la mayoría al unir líneas con coma o al convertir una columna en etiquetas en línea. Puede pasar cualquier cadena: una coma sola, una barra con espacios, un punto y coma, un tabulador, la palabra AND o incluso una cadena vacía si desea que las piezas se toquen.
A continuación el motor parte el pegado en cada terminador de línea habitual. El CRLF de Windows se trata como un solo corte para que un archivo de PC no produzca un token vacío fantasma entre retorno de carro y avance de línea. Un LF suelto, un CR suelto, next-line Unicode, el separador de línea y el de párrafo inician cada uno un ítem nuevo.
Cada ítem se recorta para que los espacios accidentales de una columna pegada no se filtren a la cadena unida. Por último las piezas restantes se concatenan con el pegamento elegido y se devuelven en una sola línea.
Dónde gana su sitio una herramienta para unir líneas con separador
Llame a la herramienta gratuita del navegador para unir líneas con un separador cuando pegue una columna de una hoja, una lista de correos de un ticket, un bloque de etiquetas de un CMS o un lote de SKU de un almacén y necesite una sola cadena en línea para un campo de formulario, un parámetro de consulta o una celda CSV. Esta landing cubre las búsquedas unir líneas con separador, unir líneas con coma y convertir lista a texto delimitado.
No es la misma intención que quitar saltos de línea, que desenvuelve un párrafo sustituyendo cada salto por un espacio para que las oraciones sigan siendo legibles. Aquí cada línea es un ítem de lista y el separador lo elige usted. Tampoco es ordenar líneas, deduplicar líneas ni contar líneas: esas conservan la forma vertical.
Un flujo típico pega una columna de etiquetas de producto, deja el separador coma-espacio por defecto y copia el texto unido a un feed comercial. Otro flujo fija separator a una barra o a un punto y coma para coincidir con un importador legado.
Qué puede hacer con ella
Convertir una columna de nombres o correos en un solo campo
Pegue una lista vertical de direcciones o nombres visibles y copie una sola línea separada por comas a un cuadro CCO, un campo CRM o un formulario de invitación.
Aplanar etiquetas y SKU para feeds y consultas
Una un bloque de etiquetas de producto o SKU de almacén en una sola celda delimitada para un feed comercial, un parámetro de URL o una plantilla de importación.
Construir listas en línea para configuraciones y cláusulas SQL IN
Convierta una columna pegada de identificadores en una lista de barras, puntos y comas o comas que un archivo de configuración o una consulta pueda consumir sin edición extra.
Preguntas frecuentes
¿Qué separador usa esta herramienta por defecto?
Una coma seguida de un espacio. Sustituya separator por cualquier cadena: solo coma, barra, punto y coma, tabulador o vacío para unir en duro sin pegamento.
¿Al unir líneas se omiten las filas en blanco?
Póngalo en false para conservar tokens vacíos entre separadores consecutivos.
¿En qué se diferencia de quitar los saltos de línea?
Quitar saltos desenvuelve un párrafo sustituyendo cada salto por un espacio. Unir líneas con separador trata cada línea como un ítem de lista y une esos ítems con el delimitador que usted elija.
¿Qué finales de línea se reconocen?
CRLF de Windows (un solo corte), LF de Unix, CR clásico de Mac, next-line Unicode, separador de línea y separador de párrafo. Cada línea se recorta antes de unir.
¿Cuánto cuesta unir líneas con un separador?
La herramienta del navegador es gratuita y se ejecuta en local.
Herramientas relacionadas
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/str/join-lines \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"apple\nbanana\ncherry"}'const res = await fetch("https://api.kit.forhosting.com/str/join-lines", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "apple\nbanana\ncherry"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/join-lines",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "apple\nbanana\ncherry"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/join-lines", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"apple\\nbanana\\ncherry"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"apple\nbanana\ncherry"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/join-lines", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "apple\nbanana\ncherry"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.join_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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_chars | 100000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La entrada vacía se rechaza con invalid_input. Las llamadas API correctas cuestan $0.002 por ítem.
Cómo funciona de verdad unir líneas con un separador
El motor lee primero el campo obligatorio text y dos controles opcionales: separator y skip_empty. Cuando skip_empty es true, que es el valor por defecto, las filas en blanco o solo de espacios se descartan antes de unir, de modo que una lista con huecos queda manzana, plátano, cereza y no manzana, , plátano. Cuando skip_empty es false los tokens vacíos permanecen, el mismo contrato que Array.join en JavaScript: dos cortes consecutivos se vuelven dos separadores consecutivos.
Contrato de entrada, forma de la respuesta y rechazo de la entrada vacía
Un separador vacío es legal y une las piezas sin caracteres entre ellas. Un pegado de una sola línea sin cortes devuelve esa línea sin cambios, count uno. Fije estos campos en integración continua para que un refactor futuro no cambie en silencio el trato de CRLF ni el pegamento coma-espacio por defecto. Envíe un cuerpo JSON con el campo de cadena obligatorio text igual a la muestra multilínea no vacía que desea aplanar. Se aceptan los alias input, value, s, content, body y lines cuando un generador de formularios o un cliente antiguo usa esos nombres. text ausente, un valor que no sea cadena o una cadena de longitud cero provocan invalid_input y nombran el campo; esos fallos no se cobran en la API prepago. El separator opcional vale por defecto coma-espacio; los alias sep, delim, delimiter, joiner y glue funcionan igual. Los separadores extremadamente largos por encima del tope documentado fallan la validación para que una sola petición no infle la memoria del Worker. skip_empty opcional es un booleano con valor por defecto true; se aceptan los alias skip_blanks, drop_empty e ignore_empty, y las cadenas true, false, 1 y 0 se convierten como se espera. En caso de éxito la respuesta incluye text como la única línea unida lista para copiar, original como eco de la entrada para pantallas de antes y después, separator como el pegamento realmente usado tras los valores por defecto, count como cuántas piezas se unieron, line_count como cuántos segmentos produjo el corte antes de omitir blancos, skip_empty como el indicador efectivo y method siempre igual a join_lines para que el código posterior ramifique sin oler formas. Un salto final con skip_empty true no añade un separador colgante.
Dónde gana su sitio una herramienta para unir líneas con separador
Use la API KIT prepago cuando un pipeline, un complemento de CMS o un cliente móvil necesite el mismo contrato bajo saldo a $0.002 por ítem correcto; los fallos de validación nunca consumen saldo tras el rechazo del motor. Un tercer flujo pone skip_empty en false cuando los huecos vacíos de la columna de origen deben sobrevivir como tokens vacíos entre delimitadores. Empareje este endpoint con herramientas de recorte u orden en un paso posterior si necesita más higiene, pero conserve unir-líneas-con-separador como página propia para que la consulta de lista delimitada no se mezcle con el desenvolvimiento de párrafos.