Convertire in snake_case
«Hello World», «HelloWorld» e «hello-world» diventano «hello» e «world» in minuscolo uniti da un trattino basso: 2 parole, senza spazi. Maiuscole interne, punti e trattini contano come separazioni tra parole. 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
- Numero di parole
- 2
L'ingresso vuoto è rifiutato con un errore di validazione chiaro invece di restituire in silenzio una stringa vuota, proteggendo i client che hanno dimenticato di collegare un campo.
Che cos'è lo snake case e dove si usa
Lo snake case è un modo di scrivere un nome con tutte le parole in minuscolo e un solo trattino basso tra l'una e l'altra, così Hello World diventa hello e world uniti da un trattino basso. È lo stile abituale per le intestazioni delle colonne di fogli di calcolo e database, per i nomi dei file e per i nomi delle variabili in molti linguaggi di programmazione, perché non ha spazi e si legge con chiarezza. Non è uno slug per indirizzi web, che usa i trattini e toglie gli accenti, né una semplice conversione in minuscolo, che lascia gli spazi. Scegliere uno stile e applicarlo sempre evita che la stessa colonna compaia con due nomi diversi.
Come funziona la conversione e gli inciampi più comuni
Per prima cosa si cercano le separazioni nascoste dentro un nome: dove una minuscola o una cifra incontra una maiuscola inizia una nuova parola, e una serie di maiuscole come XML resta unita. Poi ogni gruppo di spazi, trattini, punti, segni o simboli diventa un solo trattino basso, tutto passa in minuscolo e i trattini bassi rimasti all'inizio o alla fine vengono tolti. Per questo HelloWorld e hello-world danno lo stesso risultato. Sorprese tipiche: gli accenti restano, le cifre rimangono attaccate alla parola vicina e un testo fatto solo di simboli viene rifiutato invece di restituire un risultato vuoto.
Come un testo diventa snake case
Dopo quei tagli strutturali, ogni sequenza di caratteri non alfanumerici—spazi, trattini, punteggiatura, simboli—è sostituita da un singolo underscore. L'intera stringa viene poi portata in minuscolo con la mappatura Unicode toLowerCase dell'host affinché le lettere latine accentate si pieghino correttamente senza rimuovere i diacritici. Gli underscore iniziali e finali vengono rimossi e le sequenze interne collassano a uno solo, evitando doppi separatori in frasi disordinate.
Le cifre restano attaccate ai segmenti vicini salvo che un bordo lettera-cifra abbia già forzato uno spezzamento. Le stringhe vuote e gli ingressi che contengono solo separatori falliscono la validazione prima che sia restituito un risultato. Poiché il percorso è parse puro su stringhe, la latenza resta sottomillisecondo per form tipici e il modello di costo pubblicato è analitico, non basato su token di modello.
Domande frequenti
Cosa succede se invio testo vuoto?
Le stringhe vuote e l'ingresso solo di separatori sono rifiutati così i client notano i campi mancanti invece di ricevere un risultato vuoto in silenzio.
È la stessa cosa di uno slug URL?
No. Snake_case usa underscore tra parole in minuscolo. Gli slug URL usano tipicamente trattini e possono rimuovere più caratteri; usi uno strumento di slug dedicato per quell'intento.
Quanto costa?
Lo strumento del browser è gratuito e gira in locale.
Come vengono separate le parole con maiuscole interne, come HelloWorld?
Una nuova parola inizia dove una minuscola o una cifra è seguita da una maiuscola, quindi HelloWorld si divide in hello e world. Una serie di maiuscole resta unita: XMLHttp diventa xml e http, non lettere sparse.
Gli accenti vengono tolti dalle lettere?
No, le lettere accentate passano solo in minuscolo, quindi Café conserva la sua é. È la grande differenza rispetto a uno slug per indirizzi web, che elimina gli accenti. Se le serve un testo senza accenti, li tolga prima della conversione.
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/snake-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/snake-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/snake-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/snake-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/snake-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.snake_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
Snake_case è lo standard in molti linguaggi e contratti dati per nominare variabili, colonne e campi API: ogni parola in minuscolo, separata da un singolo underscore. Questo strumento prende la frase o l'identificatore che Lei immette, normalizza separatori e confini camelCase, porta ogni lettera in minuscolo con mappatura Unicode consapevole e restituisce una stringa snake_case pulita più conteggio parole e metadati di modifica. Spazi, trattini, punti e altri caratteri non alfanumerici diventano separatori; HelloWorld e hello-world diventano entrambi hello_world. Nessun round-trip di rete nel motore, nessun seme casuale e nessuna dipendenza dall'orologio: lo stesso testo produce sempre lo stesso JSON.
Come funziona la conversione in snake_case
Il convertitore inserisce prima confini con underscore ai bordi camelCase e PascalCase: un carattere minuscolo o cifra seguito da maiuscola si spezza, e le sequenze di maiuscole seguite da maiuscola-più-minuscola si spezzano così acronimi come XMLHttp diventano xml_http. I payload estremamente lunghi oltre il tetto documentato falliscono anche con invalid_input così una sola richiesta non monopolizza la memoria del Worker.
Cosa invia e cosa riceve in risposta
Numeri e booleani sono convertiti nelle forme decimali o true/false; oggetti, array, NaN e Infinity vengono rifiutati. Invii un unico campo obbligatorio chiamato text con la frase o l'identificatore non vuoto che desidera in snake_case. 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 text originale, il result in snake_case, la length del risultato, original_length, un word_count di segmenti separati da underscore, un booleano changed e operation impostato a snake_case. Controlli classici: Hello World diventa hello_world, HelloWorld diventa hello_world, kebab-case-name diventa kebab_case_name, e already_snake resta already_snake con changed false quando l'ingresso era già snake_case perfetto. Usi il modulo gratuito del browser per incollare e copiare rapidamente, poi chiami lo stesso contratto da script quando rinomina intestazioni CSV, genera colonne di database o normalizza nomi di campi API in blocco. 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 in seguito la pipeline necessita di minuscole pure senza underscore, trattini di slug URL, camelCase o maiuscole del titolo, li tratti come strumenti separati piuttosto che sovraccaricare questa pagina di conversione in snake_case.
Dove compaiono gli strumenti snake_case nel lavoro reale
I team di backend e dati rinomano etichette umane da fogli di calcolo e documenti di design in nomi stabili di colonna e campo prima di migrazioni e generazione OpenAPI. Client mobili e web mappano etichette di form in chiavi del corpo della richiesta che corrispondono a contratti server scritti in snake_case. I job ETL che ingeriscono intestazioni CSV miste spesso forzano ogni intestazione in snake_case affinché join e registri di schema restino coerenti tra fornitori. I team di prodotto e crescita incollano nomi di funzione ed etichette di esperimento in una casella snake_case prima di archiviarli in dizionari di eventi analytics che assumono un unico stile di naming. 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 snake case o convertitore snake_case; se serve uno slug con trattini amichevole per URL, usi lo strumento di slug dedicato invece di stirare questa capacità oltre il contratto.
Casi di integrazione
Normalizzare nomi di campo API e database
Trasformi etichette umane e identificatori misti in chiavi snake_case stabili prima di migrazioni, specifiche OpenAPI e mappature ORM.
Pulire intestazioni CSV per ETL
Forzi le intestazioni di fogli importati in snake_case affinché join e registri di schema coincidano tra fornitori ed esecuzioni.
Generatori di codice e scaffold
Alimenti frasi a un passo snake_case deterministico quando scaffolda variabili, nomi di eventi e chiavi di configurazione.
Domande tecniche
Cosa fa la conversione in snake_case?
Porta la frase o l'identificatore in minuscolo e unisce le parole con underscore, spezzando camelCase e normalizzando spazi, trattini e altri separatori in un'unica stringa snake_case.
Gestisce camelCase e kebab-case?
Sì. HelloWorld diventa hello_world, e kebab-case-name diventa kebab_case_name. PascalCase stile acronimo come XMLHttpRequest diventa xml_http_request.