大小写转换/ camelCase · snake_case · kebab-case
输入任意格式的文本,一键转换为 camelCase、PascalCase、snake_case、kebab-case 等 11 种命名格式,实时预览。
输入文本
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 slug 使用 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 slug(如 my-page-title),snake_case 常用于编程语言变量。
UPPER_SNAKE_CASE 通常用于什么?
UPPER_SNAKE_CASE(也叫 SCREAMING_SNAKE_CASE)通常用于常量定义,如 MAX_RETRY_COUNT、API_BASE_URL。在 Python、Java、JavaScript 中约定俗成地用大写蛇形命名法表示全局常量或枚举值。
这个工具如何处理中文或特殊字符?
本工具基于分词逻辑处理输入:识别驼峰边界、下划线、连字符、空格作为分隔符。中文字符会被当作独立的词元保留在输出中。特殊符号(如 @、#、$)会被忽略或作为分隔符处理。
什么是 dot.case 和 path/case?
dot.case 用点号分隔单词(如 hello.world),常见于配置文件键名、Java 包名(com.example.app)。path/case 用斜杠分隔(如 hello/world),常见于文件路径、URL 路径片段。