🐫 命名风格转换
将字符串一次性转换为 camelCase / snake_case / PascalCase / kebab-case 等所有格式。实时显示。
完全免费
无需注册
浏览器内完成
5 种语言
深色模式
📖 常见的坑
把字符串批量转换为 camelCase / snake_case / PascalCase / kebab-case 等形式。处理全部在浏览器内完成。大小写转换的全部难点在于「如何判定词边界」;在边界并不显然的输入上——连续大写、与数字的交界、混合文字——任何两个工具的结果都不会一致。使用转换结果之前,请务必过目。
| 情形 | 会发生什么 | 怎么处理 |
|---|---|---|
| 缩写被拆开或没被拆开 | 把 parseHTTPResponse 转成 snake_case,有的实现得到 parse_h_t_t_p_response,有的得到 parse_http_response。这是「把连续大写视为一个缩写」还是「视为一串独立字母」的解释差异,两者都不算错。反方向同样不确定:parse_http_response 可能变回 parseHttpResponse,也可能是 parseHTTPResponse。 |
最好的办法是在代码中根本不要把缩写全大写。Google 的各语言风格指南与 .NET 设计准则都推荐超过两个字母的缩写只首字母大写(Http、Xml、Url)。遵循这一约定,转换来回往返也不会坏。转换既有代码时,请先用 grep 挑出含缩写的标识符逐一确认。 |
| 数字前后被断开或未断开 | 在 user2FA、oauth2Client、md5Hash 中,数字究竟是词的一部分还是分隔符,不知道语义就无法判定。机械处理会得到 user_2_f_a 或 md_5_hash。含版本号的标识符(如 apiV2Handler)也有同样的问题。 |
批量转换的结果请务必用 diff 核对。先把含数字的标识符挑出来,可以大幅缩小需要检查的范围。新命名时,与其把数字嵌进词中,不如展开成词(用 user_two_factor_auth 而非 user_2fa),此后经过任何工具都稳定。用文本差分把转换前后并排对照,是最快的核对方式。 |
| 与语言惯例冲突 | 使用哪种命名法由各语言的惯例决定:Python、Ruby、Rust 的函数用 snake_case;Java、JavaScript、Go 用 camelCase;C# 用 PascalCase;CSS 类名与 URL 路径用 kebab-case。动摇发生在交界处——API 的 JSON 键是 snake_case,前端却是 camelCase,环境变量又是 SCREAMING_SNAKE_CASE。 | 请把边界处的转换收敛到唯一一个地方——API 客户端的序列化器,或 ORM 的映射层——并且不要在各调用点手工做大小写转换。手工转换一旦散落各处,就会产生同时带有 userId 与 user_id 的对象,而只有其中一个会被更新。 |
有些地方,改变大小写会连同语义一起改变。文件系统就是典型:Linux 区分大小写,而 macOS 与 Windows 默认不区分。因此把 Button.tsx 改成 button.tsx,本地毫无反应,CI 的 Linux 上却会以「找不到模块」失败。Git 默认也不追踪这种变更,需要显式执行 git mv Button.tsx button.tsx。同理,HTTP 标头名不区分大小写,URL 路径却区分。请始终清楚自己转换的是哪一类对象。
📖 使用方法
-
1
输入文本在输入框中输入要转换的文本。任何格式均可自动识别。
-
2
查看所有转换结果包含 camelCase、PascalCase、snake_case、kebab-case 等 12 种格式实时显示。
-
3
复制结果点击每行末尾的复制按钮将该格式复制到剪贴板。
❓ 常见问题
支持日语或 Unicode 字符吗?
本工具针对 ASCII 字母和数字设计。Unicode 字符原样保留。
识别哪些分隔符?
自动识别空格、下划线、连字符、斜杠、点及驼峰命名边界。
支持多少种格式?
12 种格式:camelCase、PascalCase、snake_case、SCREAMING_SNAKE_CASE、kebab-case 等。
🐛 此工具出现问题了吗?
免费、无需注册。仅提供复现步骤也有帮助。报告将直接发送给运营者并用于改进。
✅
感谢您的反馈!
已送达运营者,将用于改进工具。