Ordenar linhas numericamente pelo valor
item 20, item 3, item 100 e item 11 voltam como item 3, item 11, item 20 e item 100, ordenados pelo valor e não pelos caracteres, que colocariam 100 antes de 20. Se preferir, escolha do maior para o menor. 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
- item 20 item 3 item 100 item 11
- Texto
- item 3 item 11 item 20 item 100
- Linhas
- item 3, item 11, item 20, item 100
- Valores
- 3, 11, 20, 100
- Quantidade
- 4
Ordene linhas numericamente quando a ordem alfabética produzir um resultado incorreto. Uma classificação textual coloca 100 antes de 20 porque compara caracteres; esta capacidade extrai o primeiro número de cada linha e compara seu valor real. Ela aceita inteiros com sinal, decimais e notação científica, preserva cada linha completa e mantém a ordem original quando duas chaves numéricas são iguais. Você pode escolher a ordem crescente ou decrescente e receber texto pronto para copiar e listas estruturadas. Todas as linhas precisam conter um número finito válido, portanto dados malformados geram um erro claro, e não um resultado parcial pouco confiável.
Por que a ordenação numérica difere da alfabética
A ordenação comum de texto compara caracteres da esquerda para a direita. Essa regra é adequada para palavras, mas cria resultados estranhos em registros numerados: uma linha com 100 pode vir antes de outra com 20 porque o caractere 1 antecede o 2. A ordenação numérica encontra o primeiro número decimal de cada linha, converte-o em um valor finito e usa esse valor como chave.
Todo o restante da linha permanece intacto, portanto rótulos, unidades, pontuação e espaços acompanham o número. Valores com sinal funcionam corretamente, colocando -12 abaixo de -3 em ordem crescente. Formas como 0.5 e .75 são aceitas, assim como 2e3 ou -4.2E-2 em notação científica.
O número deve estar separado de letras, dígitos e sublinhados; dígitos incorporados a um identificador como version2beta não viram uma medida silenciosamente. Quando há vários números, o primeiro é usado. Chaves numéricas iguais preservam a ordem relativa original, garantindo estabilidade entre execuções.
Como preparar a entrada e interpretar a resposta
Informe o conteúdo de várias linhas no campo obrigatório text. A ferramenta reconhece terminações de linha do Unix, Windows e arquivos antigos com retorno de carro; o texto devolvido usa uma única quebra de linha para facilitar a cópia e o processamento posterior. Toda linha, inclusive uma linha vazia criada por uma quebra inicial, final ou repetida, precisa conter um número.
Essa validação rigorosa protege seus fluxos automatizados: em vez de colocar uma linha inválida em uma ponta arbitrária, a capacidade informa qual linha, contando a partir de 1, exige correção. Escolha asc, o padrão, para ordenar do menor para o maior, ou desc para inverter. Também devolve count e o order efetivo.
A grafia e os espaços originais são preservados, exceto pela normalização dos separadores entre linhas. Duplicatas não são removidas e separadores de milhar não são interpretados; remova a vírgula de 1,200, pois essa escrita seria lida primeiro como 1.
Uso confiável no navegador e em automações
Use a ferramenta no navegador para reorganizar títulos de capítulos, filas de prioridade, resultados de benchmark, listas de preços ou mensagens de log que já tenham um contador numérico. Um fluxo prático valida primeiro o formato de origem, envia as linhas e consome o texto unido ou a lista estruturada. Como a implementação não usa rede, aleatoriedade, regras regionais nem data atual, entradas e opções iguais sempre geram a mesma saída.
Isso a torna apropriada para builds reproduzíveis e testes de referência. Empates continuam estáveis até na ordem decrescente: mudar a direção inverte a comparação dos valores, mas não a posição relativa das linhas com a mesma chave. A ferramenta não ordena colunas de tabelas, não avalia expressões e não interpreta moedas.
Rejeitar uma linha sem um primeiro literal numérico finito é mais seguro do que inventar uma posição que possa esconder dados ausentes em um relatório automatizado.
Casos de uso
Ordenar rótulos numerados corretamente
Organize item 2, item 11 e item 100 pelo número real, preservando exatamente cada rótulo.
Classificar medições e benchmarks
Ordene linhas com negativos, decimais ou notação científica em um relatório reproduzível.
Normalizar dados de teste determinísticos
Crie uma ordem numérica estável para logs e testes sem alterar a sequência de linhas empatadas.
Perguntas frequentes
Qual número é usado quando uma linha contém vários?
O primeiro literal numérico independente é a chave. Os números posteriores continuam no texto, mas não afetam a posição.
Números negativos e decimais são aceitos?
Sim. Inteiros com sinal, valores como -3.5 ou .75 e notação científica como 2e3 são aceitos quando finitos.
O que ocorre quando duas linhas têm o mesmo valor?
A ordenação é estável, então as linhas empatadas mantêm a ordem relativa em que chegaram.
Por que aparece um erro apontando uma linha?
Cada linha precisa ter um número, e essa não tem. Uma linha em branco também conta, inclusive a que sobra depois de uma quebra de linha no final. O aviso mostra o número da linha para você corrigir ou remover.
Por que um número grudado numa palavra, como em version2beta, não é usado?
Um número só conta quando está separado das letras, então algarismos dentro de um código como version2beta não viram valor. Se essa linha não tiver outro número, você recebe um aviso por causa dela.
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-numeric \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"item 20\nitem 3\nitem 100\nitem 11"}'const res = await fetch("https://api.kit.forhosting.com/str/sort-lines-numeric", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "item 20\nitem 3\nitem 100\nitem 11"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/sort-lines-numeric",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "item 20\nitem 3\nitem 100\nitem 11"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/sort-lines-numeric", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"item 20\\nitem 3\\nitem 100\\nitem 11"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"item 20\nitem 3\nitem 100\nitem 11"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/sort-lines-numeric", 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": "item 20\nitem 3\nitem 100\nitem 11"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.sort_lines_numeric",
"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
A resposta contém text para copiar, lines como lista JSON e values com as chaves numéricas na ordem final.
Uso confiável no navegador e em automações
A mesma lógica determinística está disponível pela API para scripts de build, sistemas de conteúdo, etapas de limpeza e dados de teste por US$ 0,002 em cada solicitação bem-sucedida.
Perguntas técnicas
O que acontece se uma linha não tiver número?
A solicitação falha com invalid_input e identifica a linha contando a partir de 1. Nenhum resultado parcial é devolvido.
Quanto custa ordenar linhas numericamente?
A ferramenta do navegador é gratuita. Cada solicitação de API bem-sucedida custa US$ 0,002; entradas inválidas são rejeitadas.