Ordenar linhas por tamanho
watermelon, fig, apple, pear e plum voltam como fig, pear, plum, apple e watermelon: 3, 4, 4, 5 e 10 caracteres. pear continua antes de plum porque empates mantêm a ordem original. 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
- watermelon fig apple pear plum
- Texto
- fig pear plum apple watermelon
- Quantidade
- 5
Ordene linhas por tamanho quando for mais fácil revisar, comparar ou apresentar uma lista começando pelas entradas curtas. Cole um texto multilinha e a ferramenta contará os caracteres Unicode de cada linha, colocará as menores primeiro e preservará a ordem original quando os tamanhos forem iguais. O resultado traz texto pronto para copiar e registros estruturados com as medidas, úteis tanto para uma limpeza manual rápida quanto para fluxos automatizados reproduzíveis.
Como funciona a ordenação da menor linha para a maior
A ferramenta considera como linha cada segmento separado por CRLF do Windows, avanço de linha ou retorno de carro. Ela conta pontos de código Unicode, não unidades internas UTF-16 do JavaScript; assim, um emoji comum vale um caractere, e não duas metades substitutas. Depois compara as contagens e coloca a menor primeiro.
Quando várias linhas têm o mesmo tamanho, a sequência relativa original permanece intacta. Essa estabilidade protege listas cuja ordem anterior já tem significado e torna execuções repetidas previsíveis. Linhas vazias são válidas e têm tamanho zero, inclusive o segmento criado por uma quebra final, portanto aparecem no começo.
Espaços e pontuação contam e não são removidos. A resposta inclui um texto unido por avanços de linha e uma lista estruturada com cada conteúdo e medida. Não existe desempate alfabético, pois a regra desta capacidade é exclusivamente o tamanho crescente, sem reorganizar silenciosamente os empates.
Como preparar a entrada e interpretar a resposta
Envie um objeto com o campo obrigatório text contendo a string multilinha completa. O valor pode ter uma linha, repetições, espaços, escritas não latinas, emojis ou finais de linha mistos. Na resposta, text é o bloco ordenado, normalizado com avanços de linha.
A lista lines atende a programas e contém objetos com line e length, permitindo montar uma tabela, verificar um limite ou seguir com outra transformação sem recontar. count informa quantos segmentos foram processados, e method identifica a operação. Como nada é aparado, uma linha com três espaços mede três. Pares substitutos contam uma vez, porém marcas combinantes são pontos separados.
Para largura visual, grafemas dependentes de idioma ou colação alfabética, escolha uma ferramenta que declare essa forma de medição ou ordenação.
Uso em listas, código e dados tabulares
Ordenar por tamanho ajuda quando linhas muito curtas ou longas revelam a estrutura. É possível organizar títulos, rótulos, palavras-chave ou produtos para mostrar itens compactos primeiro e destacar exceções no fim. Em dados, uma coluna isolada pode revelar valores vazios, abreviados ou extensos.
Um fluxo pode examinar o último registro para encontrar o maior tamanho, e outro pode guardar o texto como artefato estável porque empates preservam a sequência recebida. Não há rede, aleatoriedade nem relógio, portanto a mesma entrada sempre produz a mesma saída. Não ordene uma única coluna de tabela se as colunas vizinhas precisarem continuar associadas; nesse caso, ordene registros completos.
Casos de uso
Organizar nomes e rótulos
Coloque rótulos curtos primeiro e mantenha a sequência original entre itens de tamanho igual.
Revisar código e configuração
Organize trechos pela contagem de caracteres para destacar linhas excessivamente longas no fim.
Inspecionar valores tabulares
Ordene uma coluna isolada para encontrar entradas vazias, abreviadas ou extensas sem alterar o conteúdo.
Perguntas frequentes
O que a ferramenta conta como caractere?
Ela conta pontos de código Unicode. Um emoji comum em par substituto vale um, enquanto marcas combinantes contam separadamente.
Como ficam linhas com o mesmo tamanho?
A ordem relativa original é preservada, sem qualquer desempate alfabético.
Os espaços são removidos antes da medição?
Não. Espaços iniciais e finais, pontuação e todos os demais pontos de código fazem parte da linha e do tamanho.
O que acontece com linhas vazias?
Elas têm tamanho zero e aparecem antes das linhas com conteúdo. Uma quebra final cria um segmento vazio.
Posso ordenar da mais longa para a mais curta?
Esta ferramenta sempre coloca a linha mais curta primeiro. Para começar pela mais longa, pegue o resultado e inverta a ordem das linhas; as de mesmo tamanho ficarão então ao contrário da ordem original.
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/sort-lines-length \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"watermelon\nfig\napple\npear"}'const res = await fetch("https://api.kit.forhosting.com/str/sort-lines-length", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "watermelon\nfig\napple\npear"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/sort-lines-length",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "watermelon\nfig\napple\npear"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/sort-lines-length", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"watermelon\\nfig\\napple\\npear"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"watermelon\nfig\napple\npear"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/sort-lines-length", 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": "watermelon\nfig\napple\npear"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.sort_lines_length",
"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.
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
Como preparar a entrada e interpretar a resposta
Uma string vazia ainda é texto válido e representa uma linha vazia; campo ausente ou valor não textual gera invalid_input.
Uso em listas, código e dados tabulares
O navegador serve ao trabalho interativo; uma solicitação API custa US$ 0,002 quando a mesma operação determinística entra em um pipeline.
Perguntas técnicas
Quanto custa a operação pela API?
Cada solicitação API bem-sucedida custa US$ 0,002. A versão no navegador pode ser executada localmente para uso interativo.