Convertir en dot.case
Hello World, HelloWorld et hello-world deviennent tous hello.world : chaque mot en minuscules, relié par un seul point, sans point au début, à la fin ni en double. Pratique pour les clés de configuration, les indicateurs de fonctionnalité et les chemins de paquets. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- Hello World
- Résultat
- hello.world
- Longueur
- 11
- Longueur d'origine
- 11
- Nombre de mots
- 2
Dot.case est un style de nommage courant dans les clés de configuration, les fragments de paquets Java, les jetons proches du CSS et la notation de chemins d'objets imbriqués : chaque mot en minuscules, séparé par un seul point. Cet outil prend la phrase ou l'identifiant que vous saisissez, normalise les séparateurs et les frontières camelCase, met chaque lettre en minuscules avec un mappage Unicode, et renvoie une chaîne dot.case propre plus le nombre de mots et des métadonnées de changement. Espaces, tirets, underscores et autres caractères non alphanumériques deviennent des séparateurs ; HelloWorld et hello-world deviennent tous deux hello.world. Une entrée vide est rejetée avec une erreur de validation claire au lieu de renvoyer silencieusement une chaîne vide, ce qui protège les clients qui ont oublié de lier un champ de formulaire.
Comment fonctionne la conversion en dot.case
Le convertisseur insère d'abord des frontières de point aux bords camelCase et PascalCase : un caractère minuscule ou un chiffre suivi d'une majuscule se scinde, et les suites de majuscules suivies d'une majuscule-plus-minuscule se scindent de sorte que des acronymes comme XMLHttp deviennent xml.http. Après ces scissions structurelles, chaque suite de caractères non alphanumériques — espaces, tirets, underscores, ponctuation, symboles — est remplacée par un seul point.
Toute la chaîne est ensuite mise en minuscules avec le mappage toLowerCase Unicode de l'hôte pour que les lettres latines accentuées se plient correctement sans supprimer les diacritiques. Les points en tête et en queue sont retirés et les suites internes se compactent en un point, ce qui évite aux phrases de texte libre désordonnées de produire des séparateurs doubles. Les chiffres restent attachés aux segments de mots voisins sauf si un bord lettre-chiffre de casse a déjà forcé une scission.
Les chaînes vides et les entrées qui ne contiennent que des séparateurs échouent à la validation avant qu'un résultat soit renvoyé. Comme le chemin est un travail de parse pur sur des chaînes, la latence reste sous la milliseconde pour des tailles de formulaire typiques et le modèle de coût publié est analytique plutôt que basé sur des jetons de modèle.
Où les outils dot.case apparaissent dans le travail réel
Les équipes backend et plateforme renomment des libellés humains issus de tableurs et de documents de conception en clés de configuration pointées stables avant les cartes de feature flags et d'environnements. Les équipes Java et Kotlin mappent des noms de produits en fragments de chemins de paquets ou de modules en segments minuscules pointés. Les jobs ETL et de schéma qui ingèrent des en-têtes mixtes forcent souvent chaque clé en dot.case pour que les chemins d'objets imbriqués et les magasins de documents restent cohérents entre fournisseurs.
Les équipes produit et croissance collent des libellés d'expériences dans une boîte dot.case avant de les classer dans des dictionnaires de propriétés analytiques qui supposent un seul style de nommage.
Cas d’usage
Normaliser clés de config et feature flags
Transformez libellés humains et identifiants mixtes en clés dot.case stables pour cartes d'environnement, feature flags et réglages imbriqués.
Segments de chemins de paquets et modules
Mappez des noms de produits en fragments de chemins minuscules pointés pour paquets, modules et chemins de champs dans les magasins de documents.
Générateurs de code et échafaudages
Alimentez des phrases dans une étape déterministe dot.case lors de l'échafaudage de clés de config, de propriétés d'événements et de chemins d'objets imbriqués.
Questions fréquentes
Que fait convertir en dot.case ?
Il met votre phrase ou identifiant en minuscules et joint les mots par des points, en scindant le camelCase et en normalisant espaces, tirets, underscores et autres séparateurs en une seule chaîne dot.case.
Que se passe-t-il si j'envoie un texte vide ?
Les chaînes vides et les entrées constituées uniquement de séparateurs sont rejetées pour que les clients remarquent les champs manquants au lieu de recevoir un résultat vide silencieux.
Quel est le coût ?
L'outil navigateur est gratuit et s'exécute en local.
Comment les sigles comme XMLHttp sont-ils traités ?
Ils sont coupés là où une suite de majuscules rencontre une majuscule suivie de minuscules, donc XMLHttp devient xml.http. Les coupures habituelles de camelCase, quand une minuscule ou un chiffre précède une majuscule, se font de la même façon.
Que se passe-t-il si mon texte est déjà en dot.case ?
Il ressort inchangé : already.dot reste already.dot et le résultat indique que rien n'a changé. Vous pouvez donc passer le convertisseur sur une liste où certains noms sont déjà corrects.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"text": "Hello World"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.dot_case",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Pas d'allers-retours réseau dans le moteur, pas de graines aléatoires et pas de dépendance à l'horloge — un texte identique produit toujours un JSON identique.
Comment fonctionne la conversion en dot.case
Les charges utiles extrêmement longues au-delà du plafond de caractères documenté échouent aussi avec invalid_input pour qu'une seule requête ne monopolise pas la mémoire du Worker.
Ce que vous envoyez et ce que vous recevez
Envoyez un seul champ obligatoire nommé text contenant la phrase ou l'identifiant non vide que vous voulez en dot.case. Les nombres et booléens sont convertis en formes décimales ou true/false ; les objets, tableaux, NaN et Infinity sont rejetés. Utilisez le formulaire gratuit du navigateur pour un collage-copie rapide, puis appelez le contrat identique depuis des scripts pour renommer des clés de configuration, générer des segments de chemins de paquets ou normaliser des chemins de champs imbriqués en masse. Des alias tels que input, value, data, s, message, string, content, body et phrase sont acceptés pour faciliter le branchement de clients plus anciens. En cas de succès la réponse renvoie le texte d'origine, le résultat en dot.case, la longueur du résultat, la longueur d'origine, un word_count de segments séparés par des points, un indicateur booléen changed et operation fixé à dot_case. Les contrôles classiques incluent Hello World devenant hello.world, HelloWorld devenant hello.world, kebab-case-name devenant kebab.case.name, snake_case_name devenant snake.case.name, et already.dot restant already.dot avec changed false lorsque l'entrée était déjà un dot.case parfait. Le tarif des appels API réussis est la base publiée de $0.002 par élément ; les échecs de validation, y compris le texte vide, ne consomment pas le solde prépayé. Si votre pipeline a ensuite besoin de minuscules pures sans séparateurs, de tirets de slug d'URL, de snake_case avec underscores ou de camelCase, traitez-les comme des outils séparés plutôt que de surcharger cette page convertir-en-dot-case.
Où les outils dot.case apparaissent dans le travail réel
Comme cette capacité est un moteur de parse pur, le tarif API est la base publiée de $0.002 par élément réussi et une validation échouée ne consomme pas le solde. Préférez cette page lorsque l'intention de recherche est littéralement convertir en dot case ou convertisseur dot.case ; si vous avez besoin d'underscores entre les mots, utilisez l'outil snake_case dédié plutôt que d'étirer cette capacité au-delà de son contrat.
Questions techniques
Gère-t-il camelCase, kebab-case et snake_case ?
Oui. HelloWorld devient hello.world, kebab-case-name devient kebab.case.name et snake_case_name devient snake.case.name. Un PascalCase d'acronyme comme XMLHttpRequest devient xml.http.request.
Est-ce la même chose que snake_case ou un slug d'URL ?
Non. Dot.case utilise des points entre les mots en minuscules. Snake_case utilise des underscores ; les slugs d'URL utilisent généralement des tirets. Utilisez les outils dédiés pour ces intentions.