悦省yueser.com

← 全部指南

英文大小写转换:标题式、camelCase、snake_case 一键切换

粘贴一段英文,点一下就得到想要的大小写形式:全大写、全小写、标题式、句首大写,以及写代码用的 camelCase、snake_case、kebab-case。命名模式会先切词再重拼,空格、下划线、连字符都是分隔符,camelCase 和 snake_case 还会识别驼峰交界。

打开工具:大小写转换

什么时候需要它

最常见的是命名不统一。数据库导出的字段有 user_first_name,接口里是 userFirstName,URL 里又成了 user-first-name,前后端对接时总得统一成一种。手改容易漏,尤其是几十个字段的时候。

另一类是从 Excel 或旧 CMS 导出的英文标题整列大写,要改成标题式再贴回后台;或者反过来,把一句正常的话转成全大写做横幅、表头、文件名。

各模式的规则和坑

全大写、全小写、句首大写都是直接改字符,不重排单词。标题式会对每个空白分隔的词做「首字母大写、其余小写」,但不判断词性,所以 the、of、and 也会被大写;英文标题惯例要求冠词和短介词小写,转完要手动改。品牌名同样会走形:iPhone 变 Iphone,eBay 变 Ebay。

三种命名模式会先切词再拼,且统一先转小写,所以 HTTP_SERVER_NAME 转出来是 httpServerName,不是 HTTPServerName。汉字没有大小写,会原样保留;标点和数字不参与切分,v1.2.3 不会被拆开。整体逻辑是不做语法分析的纯文本替换。

什么时候别用,或者换个做法

不要拿它改代码。整段选中转换会连字符串字面量、注释和 import 路径一起改,页面不解析语法,分不清变量名和引号里的文案。变量重命名应该用 IDE 的重构功能。

涉及语言相关规则时也不适用:德语 ß 转大写是 SS,土耳其语的 i/İ 有专门规则,这里用的是 JavaScript 默认映射,不按 locale 处理。需要严格国际化时用 Intl 或 ICU 提供的转换。

常见问题

camelCase 和 PascalCase 有什么区别?

camelCase 首字母小写,后面的词首字母大写,例如 userName;PascalCase(也叫大驼峰)每个词的首字母都大写,例如 UserName。类名和组件名常用 PascalCase,变量和字段名常用 camelCase。本工具提供的是 camelCase,需要 PascalCase 时把结果首字母改成大写即可。

标题式为什么把 the、of 也大写了?

因为标题式对每个空格分隔的词都做首字母大写、其余小写,不判断词性。英文标题的排版惯例是冠词、并列连词和短介词小写(除非在开头或结尾),这需要人工再改一遍。转完扫一眼首尾和中间的小词,通常几分钟就能修好。

转成 snake_case 后大写缩写没了怎么办?

命名模式的实现会先把整段转成小写再切词拼接,所以 HTTP_SERVER_NAME 会变成 http_server_name。这是为了在输入大小写混乱时也能得到整齐结果。需要保留缩写,只能在转换后手动改回,或者改用支持缩写词典的命名库。

相关工具:大小写转换