大小写转换

一键把英文转换为全大写、全小写、首字母大写(Title Case)、句首大写、驼峰命名(camelCase)、snake_case、kebab-case 等格式。

如何转换大小写

  1. 在文本框中输入或粘贴文本。
  2. 点击十一个转换按钮中的一个,文本框里的内容会立即被替换为转换结果。
  3. 点击复制复制结果。如果结果不理想,撤销可以恢复上一次点击之前的文本。它只记住一步,所以请在尝试下一种转换之前撤销。清空也可以用同样的方法撤销。

十一种格式一览

按钮“the lord of the rings”的转换结果常见用途
UPPERCASETHE LORD OF THE RINGS简短标题、标签、警告文字
lowercasethe lord of the rings统一邮箱地址、标签、关键词的写法
Title CaseThe Lord of the Rings英文标题,书名、电影名、歌名
Sentence caseThe lord of the rings修正全大写输入的文字、界面文案
camelCasetheLordOfTheRingsJavaScript、Java 的变量和函数,JSON 键名
PascalCaseTheLordOfTheRings类、类型、组件名
snake_casethe_lord_of_the_ringsPython、Ruby 的命名,数据库列名
kebab-casethe-lord-of-the-ringsURL 路径、CSS 类名、文件名
CONSTANT_CASETHE_LORD_OF_THE_RINGS常量、环境变量
aLtErNaTiNgtHe LoRd Of ThE rInGs玩梗、调侃语气
iNVERSE cASETHE LORD OF THE RINGS修正开着大写锁定键输入的文字

iNVERSE cASE 会把每个字母的大小写反过来,所以不小心开着 Caps Lock 打字时,用它修正最快:cAPS lOCK IS oN 会变成 Caps Lock is On。aLtErNaTiNg 从小写字母开始,交替时跳过空格和标点,只改变字母。

编程命名格式如何拆分单词

camelCase、PascalCase、snake_case、kebab-case 和 CONSTANT_CASE 会先把每一行拆成单词,再按新的格式重新连接。拆分点包括空格、标点以及原有的大小写分界,因此不仅能把普通句子转成命名格式,还能在不同命名格式之间互相转换:

  • getUserName → snake_case get_user_name
  • XMLHttpRequest → snake_case xml_http_request:连续的大写字母会在开启下一个单词的那个大写字母前断开。
  • user account ID → camelCase userAccountId:缩写也被当作普通单词处理。
  • Total Price (USD) → snake_case total_price_usd:括号、货币符号等在大多数编程语言的名称中不能使用,所以会被去掉。
  • version2Update → snake_case version2_update:数字会和前面的单词连在一起。

每一行单独转换。把 first name、last name、date of birth 这样的字段名每行一个粘贴进去,点一下就能得到 firstName、lastName、dateOfBirth。

哪种规范用在哪里

Python 的风格指南 PEP 8 规定函数和变量用 snake_case,类用 PascalCase,常量用 CONSTANT_CASE。JavaScript 和 Java 的变量和方法用 camelCase,类用 PascalCase。CSS 类名和 URL 路径通常用 kebab-case;对于 URL,Google 也建议用连字符而不是下划线来分隔单词。NODE_ENV 这类环境变量按惯例写成 CONSTANT_CASE。无论选择哪种,最重要的是遵循项目中已有的规范。

Title Case 的规则

每个单词的首字母都会大写,但下列短词不在行首时保持小写:a, an, and, as, at, but, by, for, in, nor, of, off, on, or, per, so, the, to, up, via, vs, yet。用连字符连接的词,连字符后面的字母也会大写(Well-Known)。各家风格指南在细节上并不一致:AP 风格把四个字母及以上的词大写,《芝加哥格式手册》则不论长短都把介词小写,但最后一个词一律大写。本工具不会特别处理最后一个词,所以 what are you looking for 会变成 What Are You Looking for。如果你遵循的风格指南有要求,请手动修改结尾。

需要注意的地方

  • 缩写和品牌名会被改成普通单词。Title Case 会把“NASA launches a new rocket”变成“Nasa Launches a New Rocket”,Sentence case 也会把 London 这样的专有名词变成小写。转换后请检查专有名词。
  • 撇号在编程命名格式中会把单词拆开:don't stop 在 camelCase 下会变成 donTStop。转换前先删掉撇号。
  • 大小写转换不一定可逆。德语的 straße 转成大写是 STRASSE,再转回小写得到的是 strasse,而不是原来的词。
  • 不会套用特定语言的规则。转换使用通用的 Unicode 大小写对应关系,例如不会生成土耳其语中带点的大写 İ。

常见问题

中文会怎么处理?

汉字没有大小写之分,会保持不变。不过在编程命名格式中,词与词之间的空格会变成下划线或连字符,例如 用户 名称 在 snake_case 下变成 用户_名称。全角英文字母(如“A”)也有大小写对应,会被正常转换;带重音符号的拉丁字母、希腊字母和西里尔字母同样可以正确转换。

可以一次转换整个列表吗?

可以。每行粘贴一项,所有格式都会保留换行。想进一步整理列表,可以使用文本行排序或删除重复行。

为什么 snake_case 会去掉符号?

数字会保留,但标点和符号会被当作单词分隔符删除,因为大多数变量名中不能使用这些字符。如果需要保留符号,请使用 UPPERCASE 或 lowercase。

URL 里应该用连字符还是下划线?

用连字符。像 /case-converter 这样的 kebab-case 路径更易读,搜索引擎也会把连字符视为单词分隔符。