Конвертер регистра/ camelCase · snake_case · kebab-case
Мгновенная конвертация текста между camelCase, PascalCase, snake_case, kebab-case и ещё 8 форматами именования.
Ввод
camelCase
helloWorld
PascalCase
HelloWorld
snake_case
hello_world
kebab-case
hello-world
UPPER_SNAKE_CASE
HELLO_WORLD
Title Case
Hello World
Sentence case
Hello world
lowercase
hello world
UPPERCASE
HELLO WORLD
dot.case
hello.world
path/case
hello/world
Этот инструмент решил вашу проблему?
Что такое конвертер регистра
Конвертер регистра преобразует текст между различными форматами именования одним кликом, включая camelCase, PascalCase, snake_case, kebab-case, UPPER_SNAKE_CASE и ещё 11 форматов.
Распространённые соглашения об именовании
Переменные и функции JavaScript используют camelCase, классы — PascalCase; Python использует snake_case; имена CSS-классов и URL-слаги — kebab-case; константы — UPPER_SNAKE_CASE.
Примеры кода
JavaScript / TypeScript
// lodash
import { camelCase, snakeCase, kebabCase, startCase } from "lodash";
camelCase("hello world") // "helloWorld"
snakeCase("helloWorld") // "hello_world"
kebabCase("HelloWorld") // "hello-world"
startCase("hello_world") // "Hello World"
// change-case (lightweight)
import { camelCase, pascalCase, snakeCase } from "change-case";
camelCase("foo bar") // "fooBar"
pascalCase("foo-bar") // "FooBar"Python
import re
def to_snake(s):
s = re.sub(r'([A-Z]+)([A-Z][a-z])', r'\1_\2', s)
s = re.sub(r'([a-z])([A-Z])', r'\1_\2', s)
return s.lower().replace('-', '_').replace(' ', '_')
def to_camel(s):
words = re.split(r'[_\-\s]+', s)
return words[0].lower() + ''.join(w.title() for w in words[1:])
# pip install stringcase
from stringcase import camelcase, snakecase, pascalcase
camelcase("hello_world") # "helloWorld"
snakecase("helloWorld") # "hello_world"Go
// go get github.com/iancoleman/strcase
import "github.com/iancoleman/strcase"
strcase.ToCamel("hello_world") // "HelloWorld"
strcase.ToLowerCamel("hello-world") // "helloWorld"
strcase.ToSnake("helloWorld") // "hello_world"
strcase.ToKebab("HelloWorld") // "hello-world"
strcase.ToScreamingSnake("helloW") // "HELLO_W"Shell
# snake_case to kebab-case echo "hello_world" | tr '_' '-' # hello-world # to UPPER_SNAKE_CASE echo "hello world" | tr '[:lower:] ' '[:upper:]_' # HELLO_WORLD # Python one-liner python3 -c " import re, sys s = sys.stdin.read().strip() print(re.sub(r'([a-z])([A-Z])', r'\1_\2', s).lower()) " <<< "helloWorld"
Часто задаваемые вопросы
В чём разница между camelCase и PascalCase?
camelCase начинается со строчной буквы, а затем каждое следующее слово пишется с заглавной (например, helloWorld). PascalCase пишет каждое слово с заглавной, включая первое (например, HelloWorld). Переменные и функции JavaScript обычно используют camelCase; имена классов и компонентов — PascalCase.
Когда использовать snake_case?
snake_case использует только строчные буквы с подчёркиваниями между словами. Это официальный стиль Python (PEP 8) для переменных, функций и имён файлов. Названия столбцов баз данных и переменные окружения Linux также используют этот формат.
В чём разница между kebab-case и snake_case?
kebab-case использует дефисы (-) между словами; snake_case использует подчёркивания (_). kebab-case является стандартом для CSS-классов, HTML-атрибутов и URL-слагов. snake_case чаще используется в идентификаторах языков программирования.
Для чего используется UPPER_SNAKE_CASE?
UPPER_SNAKE_CASE (также SCREAMING_SNAKE_CASE) — это соглашение для констант — например, MAX_RETRY_COUNT, API_BASE_URL. Python, Java и JavaScript используют этот стиль для глобальных констант и значений перечислений.
Как работает токенизатор?
Инструмент разделяет текст на слова, обнаруживая границы camelCase, подчёркивания, дефисы, точки, слэши и пробелы. Каждое слово затем собирается согласно правилам целевого формата.
Для чего используются dot.case и path/case?
dot.case разделяет слова точками (например, hello.world) — распространено в ключах конфигурации и именах Java-пакетов. path/case использует слэши (например, hello/world) — распространено в путях к файлам и сегментах URL.