Unir linhas com um separador
Três linhas com apple, banana e cherry viram apple, banana, cherry em uma única linha. Linhas em branco são ignoradas por padrão, os espaços de cada linha são aparados e você pode usar barra vertical, ponto e vírgula, tabulação ou nada. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- apple banana cherry
- Texto
- apple, banana, cherry
- Original
- apple banana cherry
- Separador
- ,
- Quantidade
- 3
Unir linhas com um separador é o trabalho cotidiano de transformar uma lista vertical em uma única string em linha: tags para uma célula CSV, e-mails para um campo CCO, SKUs para um parâmetro de consulta ou nomes para um cabeçalho separado por vírgulas. Esta ferramenta lê o texto multilinha, divide em quebras do Windows, Unix, Mac clássico e Unicode, omite linhas em branco se você quiser e une as linhas restantes com o delimitador escolhido — vírgula e espaço por padrão, ou uma barra vertical, ponto e vírgula, tabulação ou qualquer outra cola. Ao contrário das ferramentas que só trocam cada quebra por um espaço, trata cada linha como um item de lista e faz uma união no estilo Array.join, de modo que linhas vazias não virem delimitadores extras a menos que você peça. A resposta devolve o resultado de uma linha, o separador usado, quantas linhas foram vistas, quantas peças foram unidas e um eco da colagem original.
Como unir linhas com um separador funciona de verdade
Unir linhas com um separador é uma transformação de lista, não um desenrolar de parágrafo. O separador padrão é uma vírgula seguida de um espaço, o que a maioria busca ao unir linhas com vírgula ou transformar uma coluna em tags em linha. Você pode passar qualquer string: uma vírgula nua, uma barra com espaços, um ponto e vírgula, uma tabulação, a palavra AND ou até uma string vazia se quiser que as peças se toquem.
Em seguida o motor divide a colagem em cada terminador de linha comum. O CRLF do Windows conta como um único corte para que um arquivo de PC não produza um token vazio fantasma entre retorno de carro e avanço de linha. LF solto, CR solto, next-line Unicode, separador de linha e de parágrafo iniciam cada um um item novo.
Cada item é então aparado para que espaços acidentais de uma coluna colada não vazem para a string unida. Por fim as peças restantes são concatenadas com a cola escolhida e devolvidas em uma só linha.
Onde uma ferramenta de unir linhas com separador se justifica
Chame a ferramenta gratuita do navegador para unir linhas com um separador quando você colar uma coluna de uma planilha, uma lista de e-mails de um ticket, um bloco de tags de um CMS ou um lote de SKUs de um depósito e precisar de uma única string em linha para um campo de formulário, um parâmetro de consulta ou uma célula CSV. Esta landing cobre as buscas unir linhas com separador, unir linhas com vírgula e converter lista em texto delimitado.
Não é a mesma intenção de remover quebras de linha, que desenrola um parágrafo trocando cada quebra por um espaço para as frases continuarem legíveis. Aqui cada linha é um item de lista e o separador é você quem escolhe. Também não é ordenar linhas, remover duplicatas nem contar linhas: essas mantêm a forma vertical.
Um fluxo típico cola uma coluna de tags de produto, deixa o separador vírgula-espaço padrão e copia o texto unido para um feed comercial. Outro fluxo define separator como barra ou ponto e vírgula para casar com um importador legado.
Casos de uso
Transformar uma coluna de nomes ou e-mails em um só campo
Cole uma lista vertical de endereços ou nomes de exibição e copie uma única linha separada por vírgulas para uma caixa CCO, um campo CRM ou um formulário de convite.
Achatar tags e SKUs para feeds e consultas
Una um bloco de tags de produto ou SKUs de depósito em uma só célula delimitada para um feed comercial, um parâmetro de URL ou um modelo de importação.
Montar listas em linha para configs e cláusulas SQL IN
Converta uma coluna colada de identificadores em uma lista de barras, pontos e vírgulas ou vírgulas que um arquivo de configuração ou uma consulta possa consumir sem edição extra.
Perguntas frequentes
Qual separador esta ferramenta usa por padrão?
Uma vírgula seguida de um espaço. Substitua separator por qualquer string — só vírgula, barra, ponto e vírgula, tabulação ou vazio para unir sem cola.
Unir linhas ignora as linhas em branco?
Defina false para manter tokens vazios entre separadores consecutivos.
Em que isso difere de remover quebras de linha?
Remover quebras desenrola um parágrafo trocando cada quebra por um espaço. Unir linhas com separador trata cada linha como item de lista e une esses itens com o delimitador que você escolher.
Quais finais de linha são reconhecidos?
CRLF do Windows (um só corte), LF do Unix, CR clássico do Mac, next-line Unicode, separador de linha e de parágrafo. Cada linha é aparada antes da união.
Quanto custa unir linhas com um separador?
A ferramenta do navegador é gratuita e roda no dispositivo.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"text": "apple\nbanana\ncherry"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.join_lines",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_chars | 100000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Entrada vazia é rejeitada com invalid_input. Chamadas API bem-sucedidas custam US$ 0,002 por item.
Como unir linhas com um separador funciona de verdade
O motor primeiro lê o campo obrigatório text e dois controles opcionais: separator e skip_empty. Quando skip_empty é true, o padrão, linhas em branco ou só de espaços são descartadas antes da união, então uma lista com lacunas vira maçã, banana, cereja e não maçã, , banana. Quando skip_empty é false os tokens vazios permanecem, o mesmo contrato de Array.join em JavaScript: dois cortes consecutivos viram dois separadores consecutivos.
Contrato de entrada, forma da resposta e rejeição de entrada vazia
Um separador vazio é legal e une as peças sem caracteres entre elas. Uma colagem de uma linha sem quebras devolve essa linha inalterada, count um. Fixe esses campos na integração contínua para que um refactor futuro não mude em silêncio o trato de CRLF nem a cola vírgula-espaço padrão. Envie um corpo JSON com o campo de string obrigatório text igual à amostra multilinha não vazia que você quer achatar. Os aliases input, value, s, content, body e lines são aceitos quando um gerador de formulário ou cliente antigo usa esses nomes. text ausente, um valor que não é string ou uma string de comprimento zero disparam invalid_input e nomeiam o campo; essas falhas não são cobradas na API pré-paga. O separator opcional tem padrão vírgula-espaço; os aliases sep, delim, delimiter, joiner e glue funcionam igual. Separadores extremamente longos acima do teto documentado falham na validação para que um único pedido não infle a memória do Worker. skip_empty opcional é um booleano com padrão true; os aliases skip_blanks, drop_empty e ignore_empty são aceitos, e as strings true, false, 1 e 0 convertem como se espera. Em sucesso a resposta inclui text como a única linha unida pronta para copiar, original como eco da entrada para telas de antes e depois, separator como a cola realmente usada após os padrões, count como quantas peças foram unidas, line_count como quantos segmentos o corte produziu antes de pular vazios, skip_empty como o indicador efetivo e method sempre igual a join_lines para o código a jusante ramificar sem farejar formas. Uma quebra final com skip_empty true não acrescenta um separador pendurado.
Onde uma ferramenta de unir linhas com separador se justifica
Use a API KIT pré-paga quando um pipeline, um plugin de CMS ou um cliente móvel precisar do mesmo contrato sob saldo a US$ 0,002 por item bem-sucedido; falhas de validação nunca consomem saldo depois que o motor rejeita o pedido. Um terceiro fluxo põe skip_empty em false quando os vazios da coluna de origem precisam sobreviver como tokens vazios entre delimitadores. Emparelhe este endpoint com ferramentas de aparar ou ordenar em um passo posterior se precisar de mais higiene, mas mantenha unir-linhas-com-separador como página própria para que a consulta de lista delimitada não se misture com o desenrolar de parágrafo.