ForHosting KIT · Texto e IA

Truncar no meio

Faça um caminho de 62 caracteres caber em 36 sem perder as pontas: /Users/alex/Docum...engines/parse.js ainda mostra a pasta raiz e o nome do arquivo. Os pontos contam no limite, e você escolhe quanto do começo manter. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Comprimento
36
Você obtém
Texto
/Users/alex/Docum...engines/parse.js
Comprimento original
62
Comprimento do resultado
36
Reticências
...

O truncamento pelo meio encurta uma string até um comprimento de exibição alvo cortando o centro e inserindo reticências, para que o começo e o fim continuem legíveis. Esse é o padrão que gerenciadores de arquivos, terminais, trilhas de navegação, visualizadores de log e células de tabela usam quando um caminho ou nome de arquivo não cabe na coluna: você ainda vê o diretório raiz e o arquivo real, ou o início de um UUID e seus últimos dígitos. Informe o texto e o comprimento inteiro que o resultado deve respeitar; opcionalmente escolha quantos caracteres iniciais manter e qual marcador de reticências inserir. O resolvedor devolve a string encurtada, o prefixo e o sufixo mantidos, se houve corte, os comprimentos original e final e uma mensagem curta.

O que significa truncar pelo meio em comparação com um corte de prefixo

O truncamento pelo meio é uma restrição rígida de exibição com forma diferente do truncamento comum de prefixo. Um corte de prefixo mantém só o início da origem e acrescenta reticências no fim; isso ajuda em frases e títulos, mas esconde o que costuma ser necessário em um caminho ou nome de arquivo: o nome folha, a extensão, a última pasta ou os dígitos finais de um identificador.

Truncar pelo meio remove um trecho contíguo do interior e insere reticências entre um prefixo e um sufixo mantidos, de modo que os dois âncoras permanecem visíveis. O comprimento máximo que você envia é o comprimento máximo do resultado inteiro, incluindo as reticências quando o corte é necessário. Se não cabe, o resolvedor calcula um orçamento de conteúdo igual a length menos o tamanho das reticências.

Quando você omite head, esse orçamento é dividido o mais igualmente possível, e o caractere ímpar restante vai para o início. Quando você define head, esses caracteres iniciais são mantidos (limitados ao orçamento) e o restante do orçamento vai para o fim, que é como forçar um nome longo a conservar a extensão e ainda mostrar um indício curto de diretório.

Comprimentos abaixo de um nunca são aceitos: uma prévia de largura zero não é um contrato útil para tabelas, trilhas ou logs, e limites negativos são sempre erros do cliente. Texto vazio com comprimento válido é permitido e devolvido vazio, sem reticências, o que evita que fluxos com campos de caminho opcionais falhem só porque um nome está em branco.

Dicas práticas para caminhos, nomes de arquivo e buscas relacionadas

Use esta capacidade quando a intenção de busca for truncar no meio, encurtar um nome de arquivo com reticências ou manter visíveis o início e o fim de um caminho online. Prefira a divisão equilibrada para identificadores genéricos e UUID; prefira um head pequeno quando o token valioso está no fim, como um relatório com extensão; prefira um head grande quando o token valioso está no início, como um host ou uma letra de unidade que não deve ser escondida.

Reticências personalizadas — um único caractere Unicode de reticências horizontais, um ponto médio espaçado ou um rótulo «mais» entre colchetes — funcionam quando o tamanho ainda cabe no orçamento. Esta página não é um resumidor de IA, não é um truncador só de prefixo para frases, não é um contador de parágrafos ou palavras e não é um normalizador de caminhos que resolve pontos ou pastas pessoais.

Prefira uma ferramenta de truncamento de prefixo quando o produto já decidiu manter só o começo de uma frase; prefira um encurtador com LLM quando precisar de compressão que preserve o significado; prefira esta capacidade quando uma pessoa precisa reconhecer os dois extremos de um caminho, nome de arquivo, URL ou identificador dentro de uma grade fixa de caracteres.

Colunas de gerenciador de arquivos e trilhas

Limite caminhos absolutos longos para que uma tabela ou trilha ainda mostre a raiz e o nome folha, em vez de esconder a extensão atrás de reticências no fim.

Visualizadores de log e artefatos de CI

Encaixe caminhos de artefatos de build e nomes de relatórios enviados em uma linha de log de largura fixa, mantendo legíveis a última pasta e a extensão do arquivo.

Testes unitários de formatadores de caminho

Gere truncamentos pelo meio conhecidos, cortes enviesados com head e rejeições por comprimento abaixo de um para auxiliares de frontend e interfaces de armazenamento.

Como o truncamento pelo meio decide o que manter?

Ele subtrai o tamanho das reticências do seu máximo e depois mantém um prefixo e um sufixo que juntos preenchem esse orçamento. Omita head para uma divisão par (o resto ímpar vai para o início) ou defina head para fixar quantos caracteres iniciais manter.

Isso é o mesmo que truncar o texto no fim?

Não. O truncamento no fim esconde o sufixo. O truncamento pelo meio serve para caminhos, nomes de arquivo e identificadores em que o começo e o fim precisam permanecer visíveis dentro de um comprimento fixo.

O que acontece se length for zero ou as reticências não couberem?

Length deve ser um inteiro de pelo menos um e, quando o corte é necessário, as reticências não podem ser maiores que esse comprimento. Tarefas malsucedidas nunca são cobradas.

É possível manter mais do nome do arquivo do que do diretório?

Sim. Defina head como um inteiro pequeno para que a maior parte do orçamento restante vá para o fim. Esse é o padrão usual quando a extensão ou o nome folha é o token que uma pessoa precisa reconhecer.

A ferramenta de truncar no meio é grátis?

A ferramenta do navegador é gratuita e roda no dispositivo.

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.

POSThttps://api.kit.forhosting.com/str/truncate-middle

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/str/truncate-middle \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"/Users/alex/Documents/projects/kit-taller/src/engines/parse.js","length":36}'
{
  "text": "/Users/alex/Documents/projects/kit-taller/src/engines/parse.js",
  "length": 36
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.truncate_middle",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_chars100000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Um comprimento menor que um é rejeitado com invalid_input para que a validação de formulários e o CI nunca tratem um teto zero ou negativo como sucesso. O caminho é lógica determinística pura de strings — sem rede, sem sementes aleatórias, sem relógio — então o executor gratuito no navegador e a API pré-paga devolvem o mesmo JSON a cada chamada.

O que significa truncar pelo meio em comparação com um corte de prefixo

Se a origem já cabe, a ferramenta a devolve inalterada, define truncated como false, coloca a string completa em start e deixa end vazio para que quem chama possa pular recursos de interface que implicam conteúdo oculto.

Como chamar a API e o que a resposta contém

Combine a chamada com o seu próprio código de layout se precisar medir glifos em uma fonte proporcional; este extremo conta índices de string JavaScript, não pixels renderizados, o mesmo contrato que a maioria dos formatadores de caminho no servidor já usa. Envie um corpo JSON com o text obrigatório (aliases input, value, string, s, content e body) e o length obrigatório (aliases max_length, max, n, limit e max_len). O comprimento deve ser um inteiro de um a cem mil, inclusive; valores abaixo de um, não inteiros e limites excessivos são invalid_input. O head opcional (aliases start, keep_start e prefix) é um inteiro não negativo que prefere quantos caracteres iniciais manter; omita-o para uma divisão equilibrada. O ellipsis opcional (aliases marker, separator e gap) tem como padrão três pontos ASCII e pode ser qualquer string de até trinta e dois caracteres; quando o truncamento é necessário, as reticências não podem ser maiores que length, senão a requisição falha em vez de inventar um marcador cortado. O texto deve ficar dentro de cem mil caracteres para que uma única requisição não esgote a memória do Worker ou do navegador. Em caso de sucesso, a resposta ecoa input como a string original, text como a string final a exibir, length como o máximo pedido, original_length e result_length como contagens de caracteres, truncated como booleano, ellipsis como o marcador usado, start como o prefixo mantido, end como o sufixo mantido e message como um resumo curto em inglês. Uma validação malsucedida — falta de text ou length, um text que não é string, um length não inteiro ou menor que um, um head negativo, um payload grande demais ou reticências que não cabem no limite quando o corte é necessário — devolve invalid_input e nunca é cobrada. O preço é um valor fixo de US$ 0,002 por requisição bem-sucedida, com unidade item.

Dicas práticas para caminhos, nomes de arquivo e buscas relacionadas

Verificações de ida e volta para testes são simples: envie um caminho absoluto longo com comprimento trinta e seis e espere truncated true, um start não vazio, um end não vazio e result_length no máximo trinta e seis; defina head como doze no mesmo caminho e espere que o prefixo seja exatamente esses doze caracteres quando o orçamento permitir; envie length zero ou um inteiro negativo e espere invalid_input mencionando comprimento abaixo de um. Tarefas malsucedidas que devolvem invalid_input não consomem saldo pré-pago, o que mantém baratos a validação de formulários e os testes negativos de CI. Ao ensinar revisores, mostre o mesmo caminho longo com divisão equilibrada e com preferência head para que vejam que só mudam a posição do corte e os campos start e end, enquanto as regras de comprimento e de reticências permanecem iguais.

Ver a documentação completa do KIT →