Ordenar palavras por tamanho
Cole um trecho e receba as palavras alinhadas pelo número de letras: «I am a poet of moonlight» vira I, a, am, of, poet, moonlight. Palavras do mesmo tamanho mantêm a ordem de leitura. 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
- I am a poet of moonlight
- Texto
- I a am of poet moonlight
- Palavras
- I, a, am, of, poet, moonlight
- Comprimentos
- 1, 1, 2, 2, 4, 9
- Quantidade
- 6
Ordenar palavras por tamanho é um trabalho de texto bem definido: você quer cada palavra de um trecho alinhada da mais curta à mais longa para estudar o metro, preencher o suporte de um jogo de palavras ou varrer um poema em busca de tokens longos e curtos. Cole qualquer texto não vazio e esta capacidade tokeniza sequências de letras Unicode, conserva apóstrofos e hífens internos para que contrações e compostos fiquem inteiros, mede cada token pela contagem de letras e devolve as palavras da mais curta à mais longa. Palavras do mesmo tamanho conservam a ordem original de leitura, então a classificação é estável entre execuções. Cadeias vazias e entrada só de pontuação falham com entrada inválida em vez de inventar uma lista vazia.
Como a ordenação por tamanho funciona e o que conta como palavra
A intenção de busca de ordenar palavras por tamanho é mais estreita do que um contador geral ou uma ordenação alfabética de listas: as pessoas querem cada token alinhado conforme quantas letras ele contém, da mais curta à mais longa, para estudar um poema, preencher um suporte de passatempo ou comparar vocabulário curto e longo em um trecho.
Esta capacidade define uma palavra como uma sequência máxima de letras Unicode, inclusive marcas combinantes que se apoiam nessas letras, de modo que café e um cafe mais acento decomposto continuam um único token. Um apóstrofo ou um hífen internos podem unir grupos de letras, assim don't, well-known e mother-in-law permanecem palavras únicas em vez de lascas. Espaços, tabulações, quebras de linha, dígitos, emoji e o restante da pontuação atuam só como separadores, de modo que uma vírgula final nunca infla um comprimento nem vira uma palavra falsa.
O comprimento é a contagem de letras Unicode dentro do token, não unidades UTF-16 de JavaScript nem a largura visual em uma fonte específica. Hello tem cinco letras, a tem uma, don't tem quatro e supercalifragilisticexpialidocious tem trinta e quatro. Após a tokenização, o motor registra cada palavra com a contagem de letras e o índice original e depois ordena por comprimento crescente por padrão.
Palavras que compartilham o comprimento conservam a ordem da primeira aparição para que os empates sejam reproduzíveis.
Casos de uso
Jogos de palavras e suportes de passatempo
Jogadores e treinadores colam um banco de palavras candidatas e leem groups para ver quais tokens cabem em uma casa de duas, três ou cinco letras.
Metro poético e textura do verso
Poetas ordenam um rascunho pela contagem de letras para detectar uma sequência de palavras gramaticais curtas ou um único token longo que vai dominar o verso.
Perguntas frequentes
Como ordeno as palavras do meu texto por tamanho?
A resposta inclui text como classificação unida por espaços, words como o array ordenado e groups que agrupa essas palavras pela contagem de letras da mais curta à mais longa.
Como o tamanho da palavra é contado?
O comprimento é a contagem de letras Unicode dentro de cada token. Marcas combinantes, apóstrofos e hífens não somam, assim don't tem quatro letras e café tem quatro letras.
O que acontece quando várias palavras compartilham o mesmo tamanho?
Elas permanecem na ordem em que apareceram pela primeira vez na entrada.
Contrações e compostos com hífen são partidos?
Não. Um apóstrofo ou um hífen internos podem unir grupos de letras, assim don't, well-known e mother-in-law continuam cada um uma só palavra. A pontuação ao redor segue sendo um separador.
Dá para ordenar da palavra mais longa para a mais curta?
Dá. Escolha a ordem inversa e as palavras longas aparecem primeiro: no exemplo, moonlight vem antes de poet. A ordem padrão é da mais curta para a mais longa, a mais pedida em jogos de palavras.
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-words-length \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"I am a poet of moonlight"}'const res = await fetch("https://api.kit.forhosting.com/str/sort-words-length", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "I am a poet of moonlight"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/sort-words-length",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "I am a poet of moonlight"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/sort-words-length", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"I am a poet of moonlight"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"I am a poet of moonlight"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/sort-words-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": "I am a poet of moonlight"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.sort_words_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.
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
O executor gratuito do navegador e a API pré-paga compartilham uma única função determinística, assim gabaritos de sala e pipelines de produção nunca discordam na mesma string. Chamadas API bem-sucedidas são cobradas a US$ 0,002 por item; falhas de validação não são cobradas.
Como a ordenação por tamanho funciona e o que conta como palavra
O mesmo texto sempre produz o mesmo JSON, sem rede, sem semente aleatória e sem relógio de parede, o que mantém confiáveis os gabaritos de dever e os pinos de integração contínua para planilhas, scripts de diagramação e geradores de passatempos.
Contrato de entrada, sentido da ordem, campos da resposta e texto vazio
Uma string vazia, só espaços, ou só dígitos e pontuação também falha, porque nenhuma palavra com letras foi encontrada: a mensagem indica que text deve conter ao menos uma palavra e que pontuação sozinha não basta. Exemplo: I am a poet of moonlight rende seis palavras ordenadas I, a, am, of, poet, moonlight. Use text quando uma pessoa precisar de uma linha pronta para colar; use words e groups quando um aplicativo for pintar baldes por comprimento para uma planilha ou um tabuleiro. Envie por POST um corpo JSON com o campo de string obrigatório text definido para o trecho que deseja ordenar. Os aliases input, value, s, content e body são aceitos para que geradores de formulário e clientes antigos publiquem com nomes familiares. O valor deve ser uma string; objetos, arrays, booleanos e números falham com invalid_input nomeando o problema. Cargas maiores que o teto de caracteres documentado falham do mesmo modo para que um único pedido não monopolize a memória do Worker. Essas falhas de validação não são cobradas na API pré-paga. O order opcional aceita asc para da mais curta à mais longa, que é o padrão, ou desc para da mais longa à mais curta; os aliases direction e dir são aceitos. Em sucesso a resposta ecoa original como a entrada exata, text como as palavras ordenadas unidas com um único espaço, words como o array ordenado, lengths como as contagens de letras correspondentes, e count como quantos tokens foram ordenados. shortest_length e longest_length informam os extremos, groups lista cada comprimento distinto com as palavras que o compartilham, order ecoa a direção efetiva, e method é sempre sort_words_length para que os clientes ramifiquem sem farejar formas.
Jogos de palavras, poesia, fluxos linguísticos, preço e limites
Chame a ferramenta gratuita no navegador sort-words-by-length quando precisar de uma classificação firme para jogos de palavras, poesia ou exploração linguística: um treinador de palavras cruzadas vê quais tokens cabem em uma casa de três letras, um poeta varre um rascunho em busca de uma sequência de palavras de uma e duas letras que aceleram o verso, e um professor de língua mostra como um parágrafo se constrói com palavras gramaticais curtas e palavras de conteúdo mais longas. Um fluxo típico cola um verso, lê groups para ver o histograma de comprimentos e copia text de volta para uma planilha. Não espere métricas de fonte, kerning, contagem de sílabas nem definições de dicionário: isso depende de um tipo, uma fonologia ou um léxico que este caminho de parse não executa. Use a API pré-paga KIT quando um app de tutoria, um CMS ou um cliente móvel precisar do mesmo contrato com saldo a US$ 0,002 por item bem-sucedido; falhas de validação nunca consomem saldo depois que o motor rejeita o pedido. Combine este endpoint com uma contagem ou uma revisão de palavras únicas quando o próximo passo for volume ou vocabulário, mas conserve sort-words-by-length como página própria para não misturar a intenção da mais curta à mais longa com ordenação alfabética de linhas nem com consultas da palavra mais longa.
Casos de integração
Linguística de sala e fixtures
Professores e scripts de compilação fixam a classificação da mais curta à mais longa para que planilhas e regressões de tokenização continuem honestas.
Perguntas técnicas
Quanto custa ordenar palavras por tamanho?
A ferramenta do navegador é gratuita. Pedidos API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada vazia ou sem palavras não é cobrada.