Convertire in dot.case
Hello World, HelloWorld e hello-world diventano tutti hello.world: ogni parola in minuscolo, unita da un solo punto, senza punti iniziali, finali o doppi. Utile per chiavi di configurazione, flag di funzionalità e percorsi di pacchetti. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Hello World
- Risultato
- hello.world
- Lunghezza
- 11
- Lunghezza originale
- 11
- Conteggio parole
- 2
Dot.case è uno stile di nomenclatura comune nelle chiavi di configurazione, nei frammenti di pacchetti Java, nei token vicini al CSS e nella notazione dei percorsi di oggetti annidati: ogni parola in minuscolo, separata da un solo punto. Questo strumento prende la frase o l'identificatore che Lei inserisce, normalizza separatori e confini camelCase, rende minuscola ogni lettera con mappatura Unicode e restituisce una stringa dot.case pulita più conteggio parole e metadati di modifica. Spazi, trattini, underscore e altri caratteri non alfanumerici diventano separatori; HelloWorld e hello-world diventano entrambi hello.world. L'input vuoto viene rifiutato con un chiaro errore di validazione invece di restituire silenziosamente una stringa vuota, proteggendo i client che hanno dimenticato di collegare un campo del form.
Come funziona la conversione in dot.case
Il convertitore inserisce prima confini di punto ai bordi camelCase e PascalCase: un carattere minuscolo o una cifra seguiti da una maiuscola si spezzano, e le sequenze di maiuscole seguite da maiuscola-più-minuscola si spezzano così che acronimi come XMLHttp diventino xml.http. Dopo questi tagli strutturali, ogni tratto di caratteri non alfanumerici — spazi, trattini, underscore, punteggiatura, simboli — è sostituito da un solo punto. L'intera stringa viene poi resa minuscola con la mappatura toLowerCase Unicode dell'host così che le lettere latine accentate si pieghino correttamente senza rimuovere i diacritici.
I punti iniziali e finali vengono rimossi e i tratti interni collassano a un punto, evitando che frasi di testo libero disordinate producano separatori doppi. Le cifre restano attaccate ai segmenti di parola vicini salvo che un bordo lettera-cifra di maiuscole abbia già forzato uno split. Stringhe vuote e input che contengono solo separatori falliscono la validazione prima che sia restituito un risultato.
Poiché il percorso è lavoro di parse puro su stringhe, la latenza resta sotto il millisecondo per dimensioni di form tipiche e il modello di costo pubblicato è analitico anziché basato su token di modello.
Casi d'uso
Normalizzare chiavi di config e feature flag
Trasformi etichette umane e identificatori misti in chiavi dot.case stabili per mappe di ambiente, feature flag e impostazioni annidate.
Segmenti di percorso di pacchetti e moduli
Mappi nomi di prodotto in frammenti di percorso minuscoli punteggiati per pacchetti, moduli e percorsi di campi negli store di documenti.
Generatori di codice e scaffold
Alimenti frasi a un passo deterministico di dot.case quando crea scaffold di chiavi di config, proprietà di eventi e percorsi di oggetti annidati.
Domande frequenti
Cosa fa convertire in dot.case?
Rende minuscola la Sua frase o identificatore e unisce le parole con punti, spezzando il camelCase e normalizzando spazi, trattini, underscore e altri separatori in un'unica stringa dot.case.
Cosa succede se invio testo vuoto?
Stringhe vuote e input solo di separatori sono rifiutati affinché i client notino i campi mancanti invece di ricevere un risultato vuoto silenzioso.
Quanto costa?
Lo strumento del browser è gratuito e gira in locale.
Come vengono gestite le sigle come XMLHttp?
Vengono separate dove una serie di maiuscole incontra una maiuscola seguita da minuscole, quindi XMLHttp diventa xml.http. I normali confini di camelCase, dove una minuscola o una cifra precede una maiuscola, si separano allo stesso modo.
Che cosa succede se il mio testo è già in dot.case?
Torna invariato, quindi already.dot resta already.dot e il risultato indica che non è cambiato nulla. Può così applicare il convertitore a un elenco in cui alcuni nomi sono già corretti.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"text": "Hello World"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.dot_case",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Nessun round-trip di rete nel motore, nessun seme casuale e nessuna dipendenza dall'orologio: testo identico produce sempre JSON identico.
Come funziona la conversione in dot.case
Payload estremamente lunghi oltre il limite di caratteri documentato falliscono anche con invalid_input affinché una sola richiesta non monopolizzi la memoria del Worker.
Cosa invia e cosa riceve in risposta
Invii un unico campo obbligatorio chiamato text con la frase o l'identificatore non vuoto che desidera in dot.case. Numeri e booleani vengono convertiti nelle forme decimali o true/false; oggetti, array, NaN e Infinity sono rifiutati. Usi il form gratuito del browser per lavoro rapido di incolla e copia, poi chiami lo stesso contratto dagli script quando rinomina chiavi di configurazione, genera segmenti di percorso di pacchetto o normalizza percorsi di campi annidati in blocco. Sono accettati alias come input, value, data, s, message, string, content, body e phrase per comodità con client più vecchi. In caso di successo la risposta ripete il testo originale, il risultato in dot.case, la lunghezza del risultato, la lunghezza originale, un word_count di segmenti separati da punti, un flag booleano changed e operation impostato a dot_case. Controlli classici includono Hello World che diventa hello.world, HelloWorld che diventa hello.world, kebab-case-name che diventa kebab.case.name, snake_case_name che diventa snake.case.name, e already.dot che resta already.dot con changed false quando l'input era già un dot.case perfetto. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento; i fallimenti di validazione, incluso il testo vuoto, non consumano saldo prepagato. Se la pipeline in seguito necessita di minuscole pure senza separatori, trattini di slug URL, snake_case con underscore o camelCase, li tratti come strumenti separati anziché sovraccaricare questa landing converti-in-dot-case.
Dove compaiono gli strumenti dot.case nel lavoro reale
I team di backend e piattaforma rinomano etichette umane da fogli di calcolo e documenti di design in chiavi di configurazione punteggiate stabili prima di mappe di feature flag e ambienti. I team Java e Kotlin mappano nomi di prodotto in frammenti di percorso di pacchetto o modulo con segmenti minuscoli punteggiati. I team di prodotto e crescita incollano etichette di esperimenti in una casella dot.case prima di archiviarle in dizionari di proprietà di analytics che assumono un unico stile di nomenclatura. Job ETL e di schema che ingeriscono intestazioni miste spesso forzano ogni chiave attraverso dot.case affinché percorsi di oggetti annidati e store di documenti restino coerenti tra fornitori. Poiché questa capacità è un motore di parse puro, il prezzo API è la base pubblicata di $0.002 per elemento riuscito e la validazione fallita non consuma saldo. Preferisca questa pagina quando l'intento di ricerca è letteralmente convertire in dot case o convertitore dot.case; se serve underscore tra le parole, usi lo strumento dedicato snake_case anziché allungare questa capacità oltre il contratto.
Domande tecniche
Gestisce camelCase, kebab-case e snake_case?
Sì. HelloWorld diventa hello.world, kebab-case-name diventa kebab.case.name e snake_case_name diventa snake.case.name. PascalCase con acronimi come XMLHttpRequest diventa xml.http.request.
È la stessa cosa di snake_case o di uno slug URL?
No. Dot.case usa punti tra parole minuscole. Snake_case usa underscore; gli slug URL usano tipicamente trattini. Usi gli strumenti dedicati per quegli intenti.