Converter para dot.case
Hello World, HelloWorld e hello-world viram todos hello.world: cada palavra em minúsculas, unida por um único ponto, sem pontos no início, no fim ou duplicados. Útil para chaves de configuração, flags de recursos e caminhos de pacotes. 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
- Hello World
- Resultado
- hello.world
- Comprimento
- 11
- Comprimento original
- 11
- Contagem de palavras
- 2
Dot.case é um estilo de nomenclatura comum em chaves de configuração, fragmentos de pacotes Java, tokens próximos de CSS e notação de caminhos de objetos aninhados: cada palavra em minúsculas, separada por um único ponto. Esta ferramenta recebe a frase ou identificador que você informa, normaliza separadores e limites camelCase, coloca cada letra em minúsculas com mapeamento Unicode e devolve uma string dot.case limpa mais contagem de palavras e metadados de mudança. Espaços, hífens, sublinhados e outros caracteres não alfanuméricos viram separadores; HelloWorld e hello-world se tornam hello.world. Entrada vazia é rejeitada com erro de validação claro em vez de devolver silenciosamente uma string vazia, o que protege clientes que esqueceram de vincular um campo de formulário.
Como a conversão para dot.case funciona
O conversor primeiro insere limites de ponto nas bordas camelCase e PascalCase: um caractere minúsculo ou dígito seguido de letra maiúscula se divide, e sequências de maiúsculas seguidas de maiúscula-mais-minúscula se dividem de modo que acrônimos como XMLHttp se tornem xml.http. Após esses cortes estruturais, cada trecho de caracteres não alfanuméricos — espaços, hífens, sublinhados, pontuação, símbolos — é substituído por um único ponto. A string inteira é então colocada em minúsculas com o mapeamento toLowerCase Unicode do host para que letras latinas acentuadas se dobrem corretamente sem remover diacríticos.
Pontos iniciais e finais são removidos e trechos internos colapsam para um ponto, o que evita que frases de texto livre bagunçadas produzam separadores duplos. Dígitos permanecem ligados a segmentos de palavra vizinhos salvo se uma borda letra-dígito de maiúsculas já tiver forçado uma divisão. Strings vazias e entradas que contêm apenas separadores falham na validação antes de um resultado ser devolvido.
Como o caminho é trabalho de parse puro sobre strings, a latência fica abaixo de um milissegundo em tamanhos típicos de formulário e o modelo de custo publicado é analítico em vez de baseado em tokens de modelo.
Casos de uso
Normalizar chaves de config e feature flags
Transforme rótulos humanos e identificadores mistos em chaves dot.case estáveis para mapas de ambiente, feature flags e configurações aninhadas.
Segmentos de caminho de pacotes e módulos
Mapeie nomes de produto em fragmentos de caminho minúsculos pontilhados para pacotes, módulos e caminhos de campos em stores de documentos.
Geradores de código e scaffolds
Alimente frases em um passo determinístico de dot.case ao gerar scaffolds de chaves de config, propriedades de eventos e caminhos de objetos aninhados.
Perguntas frequentes
O que converter para dot.case faz?
Coloca sua frase ou identificador em minúsculas e une palavras com pontos, dividindo camelCase e normalizando espaços, hífens, sublinhados e outros separadores em uma única string dot.case.
O que acontece se eu enviar texto vazio?
Strings vazias e entradas só de separadores são rejeitadas para que clientes notem campos ausentes em vez de receber um resultado vazio silencioso.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
Como siglas como XMLHttp são tratadas?
Elas são separadas onde uma sequência de maiúsculas encontra uma maiúscula seguida de minúsculas, então XMLHttp vira xml.http. As quebras comuns de camelCase, quando uma minúscula ou um número vem antes de uma maiúscula, são separadas do mesmo jeito.
O que acontece se meu texto já estiver em dot.case?
Ele volta igual, então already.dot continua already.dot e o resultado indica que nada mudou. Assim você pode passar o conversor em uma lista em que alguns nomes já estão certos.
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/dot-case \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'const res = await fetch("https://api.kit.forhosting.com/str/dot-case", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/dot-case",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/dot-case", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/dot-case", 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": "Hello World"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.dot_case",
"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
Sem idas e voltas de rede no motor, sem sementes aleatórias e sem dependência de relógio — texto idêntico sempre produz JSON idêntico.
Como a conversão para dot.case funciona
Payloads extremamente longos acima do limite de caracteres documentado também falham com invalid_input para que uma única requisição não monopolize a memória do Worker.
O que você envia e o que recebe de volta
Envie um único campo obrigatório chamado text com a frase ou identificador não vazio que deseja em dot.case. Números e booleanos são convertidos para as formas decimal ou true/false; objetos, arrays, NaN e Infinity são rejeitados. Use o formulário gratuito do navegador para trabalho rápido de colar e copiar; depois chame o mesmo contrato a partir de scripts ao renomear chaves de configuração, gerar segmentos de caminho de pacote ou normalizar caminhos de campos aninhados em massa. Aliases como input, value, data, s, message, string, content, body e phrase são aceitos por conveniência ao conectar clientes antigos. Em sucesso a resposta ecoa o texto original, o resultado em dot.case, o comprimento do resultado, o comprimento original, um word_count de segmentos separados por pontos, um flag booleano changed e operation com valor dot_case. Verificações clássicas incluem Hello World virando hello.world, HelloWorld virando hello.world, kebab-case-name virando kebab.case.name, snake_case_name virando snake.case.name, e already.dot permanecendo already.dot com changed false quando a entrada já era dot.case perfeita. O preço de chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação, inclusive texto vazio, não consomem saldo pré-pago. Se seu pipeline depois precisar de minúsculas puras sem separadores, hífens de slug de URL, snake_case com sublinhados ou camelCase, trate isso como ferramentas separadas em vez de sobrecarregar esta landing converter-para-dot-case.
Onde ferramentas dot.case aparecem no trabalho real
Times de backend e plataforma renomeiam rótulos humanos de planilhas e docs de design em chaves de configuração pontilhadas estáveis antes de mapas de feature flags e ambientes. Times Java e Kotlin mapeiam nomes de produto em fragmentos de caminho de pacote ou módulo com segmentos minúsculos pontilhados. Times de produto e crescimento colam rótulos de experimento em uma caixa dot.case antes de arquivá-los em dicionários de propriedades de analytics que assumem um único estilo de nomenclatura. Jobs ETL e de schema que ingerem cabeçalhos mistos frequentemente forçam cada chave por dot.case para que caminhos de objetos aninhados e stores de documentos fiquem consistentes entre fornecedores. Como esta capacidade é um motor de parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e a validação falha não consome saldo. Prefira esta página quando a intenção de busca for literalmente converter para dot case ou conversor dot.case; se precisar de sublinhados entre palavras, use a ferramenta dedicada snake_case em vez de esticar esta capacidade além do contrato.
Perguntas técnicas
Ele lida com camelCase, kebab-case e snake_case?
Sim. HelloWorld vira hello.world, kebab-case-name vira kebab.case.name e snake_case_name vira snake.case.name. PascalCase com acrônimos como XMLHttpRequest vira xml.http.request.
É o mesmo que snake_case ou um slug de URL?
Não. Dot.case usa pontos entre palavras minúsculas. Snake_case usa sublinhados; slugs de URL tipicamente usam hífens. Use as ferramentas dedicadas para essas intenções.