命名格式转换

在 camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、dot.case、Title Case 等格式之间转换文本,13 种格式随输入实时更新。

一次性把任意文本转换为 13 种命名风格。 粘贴变量名、标题或整句话都可以。工具会先把输入拆分成单词——无论它原本是什么写法——再按各种常见风格重新拼接。

命名风格及其适用场景

拆词是怎么做的

在重新排版之前,必须先把输入拆成单词。本工具会在小写字母后紧跟大写字母处插入分界,在缩写结束、新单词开始处插入分界(因此 HTTPServer 会拆成 HTTP + Server),并在所有非字母数字字符处断开。得到的是一个中性的单词列表,可以按任意风格重新拼接。这意味着你可以直接粘贴 snake_case,一步得到正确的 camelCase

主要命名风格

  • camelCase(小驼峰) —— JavaScript 与 Java 的变量,多数 Web API 的 JSON 键。
  • PascalCase(大驼峰) —— C#、Java、TypeScript 的类与类型名;React 组件名。
  • snake_case(下划线) —— Python 和 Ruby 的变量与函数,PostgreSQL 的列名。
  • CONSTANT_CASE(常量) —— 几乎所有语言的编译期常量与环境变量。
  • kebab-case(短横线) —— URL slug、CSS 类名、HTML 属性、npm 包名。
  • dot.case(点分) —— 配置项键名、国际化翻译键、Java 包名。
  • Title Case(标题式) —— 标题与界面文案。

为什么一致性很重要

同一个代码库里混用多种风格会实实在在地消耗时间。数据库里叫 user_id、API 层叫 userId、模型里又叫 UserID,意味着每一处边界都需要一次映射,而每一次映射都可能藏着 bug。多数团队会为每一层固定一种风格,并在边界处显式转换。

Unicode 处理

拆词使用支持 Unicode 的字符类,因此带重音的拉丁字母、希腊字母和西里尔字母都会被当作字母而非分隔符。中文、日文等没有大小写的文字会原样通过,因为不存在可套用的大小写形式。

开源说明:拆词与格式化基于 JavaScript 原生 Unicode 正则实现,未使用第三方库。

常见问题

可以直接粘贴已经是驼峰的文本吗?
可以。拆词逻辑能识别驼峰凸起和缩写边界,因此任意输入风格都能一步正确转换为任意输出风格,无需中间步骤。
缩写是怎么处理的?
连续大写后面跟着「大写+小写」时,会在最后一个大写字母前断开。因此 parseHTTPResponse 会拆成 parse + HTTP + Response,而不是一个长词。
标题大小写和句首大写有什么区别?
标题大小写会把每个单词首字母都大写;句首大写只把第一个单词首字母大写,其余转为小写,就像普通句子那样。
对中文或日文有效吗?
这些文字没有大小写之分,字符会原样输出。但基于分隔符的格式(如短横线)仍会在空格和标点处插入分隔符。
标点和数字会保留吗?
数字会保留并被视为单词的一部分。标点会作为单词边界,在拼接输出时被去掉,因为目标命名风格都不允许标点。
文本会被上传吗?
不会。全部处理在浏览器内完成,粘贴的内容不会离开你的设备。