Convertir a dot.case
Hello World, HelloWorld y hello-world se convierten todos en hello.world: cada palabra en minúsculas, unida por un solo punto, sin puntos al principio, al final ni dobles. Útil para claves de configuración, indicadores de funciones y rutas de paquetes. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hello World
- Resultado
- hello.world
- Longitud
- 11
- Longitud original
- 11
- Recuento de palabras
- 2
Dot.case es un estilo de nomenclatura habitual en claves de configuración, fragmentos de paquetes Java, tokens cercanos a CSS y notación de rutas de objetos anidados: cada palabra en minúsculas, separada por un solo punto. Esta herramienta toma la frase o identificador que usted introduce, normaliza separadores y límites camelCase, pasa cada letra a minúsculas con mapeo Unicode y devuelve una cadena dot.case limpia más el recuento de palabras y metadatos de cambio. Espacios, guiones, guiones bajos y otros caracteres no alfanuméricos se convierten en separadores; HelloWorld y hello-world se convierten ambos en hello.world. La entrada vacía se rechaza con un error de validación claro en lugar de devolver en silencio una cadena vacía, lo que protege a los clientes que olvidaron enlazar un campo de formulario.
Cómo funciona la conversión a dot.case
El convertidor inserta primero límites de punto en los bordes camelCase y PascalCase: un carácter en minúscula o dígito seguido de una letra mayúscula se divide, y las secuencias de mayúsculas seguidas de mayúscula-más-minúscula se dividen de modo que acrónimos como XMLHttp se conviertan en xml.http. Tras esos cortes estructurales, cada tramo de caracteres no alfanuméricos —espacios, guiones, guiones bajos, puntuación, símbolos— se sustituye por un solo punto.
Toda la cadena se pone luego en minúsculas con el mapeo toLowerCase Unicode del host para que las letras latinas acentuadas se plieguen correctamente sin eliminar diacríticos. Se eliminan los puntos iniciales y finales y los tramos internos se colapsan a un solo punto, lo que evita que frases de texto libre desordenadas produzcan separadores dobles. Los dígitos permanecen unidos a segmentos de palabra vecinos salvo que un borde letra-dígito de mayúsculas ya haya forzado un corte.
Las cadenas vacías y las entradas que solo contienen separadores fallan la validación antes de devolver un resultado. Como la ruta es trabajo de parse puro sobre cadenas, la latencia se mantiene por debajo del milisegundo en tamaños de formulario típicos y el modelo de coste publicado es analítico en lugar de basado en tokens de modelo.
Dónde aparecen las herramientas dot.case en el trabajo real
Los equipos de backend y plataforma renombran etiquetas humanas de hojas de cálculo y documentos de diseño en claves de configuración punteadas estables antes de mapas de feature flags y entornos. Los equipos Java y Kotlin mapean nombres de producto a fragmentos de rutas de paquete o módulo con segmentos en minúsculas separados por puntos. Los trabajos ETL y de esquema que ingieren cabeceras mixtas a menudo fuerzan cada clave por dot.case para que las rutas de objetos anidados y los almacenes de documentos se mantengan coherentes entre proveedores.
Los equipos de producto y crecimiento pegan etiquetas de experimentos en un cuadro dot.case antes de archivarlas en diccionarios de propiedades de analítica que asumen un solo estilo de nomenclatura.
Qué puede hacer con ella
Normalizar claves de configuración y feature flags
Convierta etiquetas humanas e identificadores mixtos en claves dot.case estables para mapas de entorno, feature flags y ajustes anidados.
Segmentos de rutas de paquetes y módulos
Mapee nombres de producto a fragmentos de ruta en minúsculas con puntos para paquetes, módulos y rutas de campos en almacenes de documentos.
Generadores de código y andamiajes
Alimente frases a un paso determinista dot.case al andamiar claves de configuración, propiedades de eventos y rutas de objetos anidados.
Preguntas frecuentes
¿Qué hace convertir a dot.case?
Pone en minúsculas su frase o identificador y une las palabras con puntos, dividiendo camelCase y normalizando espacios, guiones, guiones bajos y otros separadores en una sola cadena dot.case.
¿Qué ocurre si envío texto vacío?
Se rechazan cadenas vacías y entradas solo de separadores para que los clientes detecten campos faltantes en lugar de recibir un resultado vacío silencioso.
¿Cuánto cuesta?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Cómo se tratan siglas como XMLHttp?
Se separan donde una serie de mayúsculas se encuentra con una mayúscula seguida de minúsculas, así que XMLHttp pasa a xml.http. Los cortes normales de camelCase, donde una minúscula o una cifra va antes de una mayúscula, se separan igual.
¿Qué pasa si mi texto ya está en dot.case?
Sale igual, así que already.dot sigue siendo already.dot y el resultado indica que no cambió nada. Por eso puede pasar el convertidor por una lista en la que algunos nombres ya son correctos.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"text": "Hello World"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.dot_case",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Sin viajes de red dentro del motor, sin semillas aleatorias y sin dependencia del reloj: el mismo texto produce siempre un JSON idéntico.
Cómo funciona la conversión a dot.case
Las cargas extremadamente largas por encima del tope de caracteres documentado también fallan con invalid_input para que una sola solicitud no monopolice la memoria del Worker.
Qué se envía y qué se recibe
Envíe un único campo obligatorio llamado text con la frase o identificador no vacío que desee en dot.case. Los números y booleanos se convierten a sus formas decimales o true/false; se rechazan objetos, arrays, NaN e Infinity. Use el formulario gratuito del navegador para trabajo rápido de pegar y copiar; luego invoque el mismo contrato desde scripts al renombrar claves de configuración, generar segmentos de rutas de paquete o normalizar rutas de campos anidados en masa. Se aceptan alias como input, value, data, s, message, string, content, body y phrase por comodidad al conectar clientes antiguos. En caso de éxito la respuesta repite el texto original, el resultado en dot.case, la longitud del resultado, la longitud original, un word_count de segmentos separados por puntos, un indicador booleano changed y operation con valor dot_case. Las comprobaciones clásicas incluyen Hello World que se convierte en hello.world, HelloWorld en hello.world, kebab-case-name en kebab.case.name, snake_case_name en snake.case.name, y already.dot que permanece already.dot con changed en false cuando la entrada ya era dot.case perfecta. El precio de las llamadas API correctas es la base publicada de $0.002 por elemento; los fallos de validación, incluido el texto vacío, no consumen saldo prepago. Si su pipeline necesita después minúsculas puras sin separadores, guiones de slug de URL, snake_case con guiones bajos o camelCase, trátelos como herramientas separadas en lugar de sobrecargar esta página de convertir-a-dot-case.
Dónde aparecen las herramientas dot.case en el trabajo real
Como esta capacidad es un motor de parse puro, el precio de la API es la base publicada de $0.002 por elemento correcto y la validación fallida no consume saldo. Prefiera esta página cuando la intención de búsqueda sea literalmente convertir a dot case o convertidor dot.case; si necesita guiones bajos entre palabras, use la herramienta dedicada snake_case en lugar de estirar esta capacidad más allá de su contrato.
Preguntas técnicas
¿Gestiona camelCase, kebab-case y snake_case?
Sí. HelloWorld se convierte en hello.world, kebab-case-name en kebab.case.name y snake_case_name en snake.case.name. PascalCase con acrónimos como XMLHttpRequest se convierte en xml.http.request.
¿Es lo mismo que snake_case o un slug de URL?
No. Dot.case usa puntos entre palabras en minúsculas. Snake_case usa guiones bajos; los slugs de URL suelen usar guiones. Use las herramientas dedicadas para esas intenciones.