Case Converter:标题、蛇形、驼峰大小写转换
Case Converter 将文本转换为 uppercase、lowercase、Title Case、camelCase、snake_case、kebab-case 等16种格式,即时处理。
什么是 Case Converter?
Case Converter 是一款免费在线工具,可实时将文本在16种大小写格式之间转换。它处理 UPPERCASE、lowercase、Title Case、Sentence case 等日常写作格式,以及 camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE 等开发者专用格式,还包括 aLtErNaTiNg、random、superscript、subscript、strikethrough、bubble 和 fullwidth 等装饰性格式。
该工具解决了写作和开发中的一个常见问题:同一个词或短语需要在不同的场景中以不同的大小写规范或格式惯例出现,手动处理既容易出错又费时。所有处理均在您的浏览器中使用支持 Unicode 的 JavaScript 完成,无需账户,完全免费。
主要功能
- UPPERCASE — 使用 JavaScript 的
toUpperCase()将所有字母转为大写。 - lowercase — 使用
toLowerCase()将所有字母转为小写。 - Title Case — 使用 Unicode 感知正则表达式
/(^|\s)(\p{L})/gu将每个单词的首字母大写。该模式识别任何 Unicode 字母,而不仅限于 ASCII。 - Sentence case — 仅将整段文本的第一个字母大写。使用
Intl.Segmenter进行字素感知检测,可正确处理输入开头的 emoji 或组合字符。 - camelCase — 删除非字母数字字符,并将第一个单词之后的每个单词首字母大写。
hello world变为helloWorld。 - PascalCase — 与 camelCase 相同,但第一个单词也大写。
hello world变为HelloWorld。 - snake_case — 在 camelCase 边界和空格分隔的单词之间插入下划线,然后全部转为小写。
helloWorld变为hello_world。 - kebab-case — 与 snake_case 相同,但使用连字符。
helloWorld变为hello-world。 - CONSTANT_CASE — snake_case 逻辑但全部大写。
helloWorld变为HELLO_WORLD。 - aLtErNaTiNg — 按字符索引交替大写和小写(偶数索引 = 小写,奇数 = 大写)。
- rAnDom — 使用
Math.random()随机为每个字符分配大写或小写。 - Sᵘᵖᵉʳˢᶜʳⁱᵖᵗ、Sᵤᵦₛ꜀ᵣᵢₚₜ、S̶t̶r̶i̶k̶e̶、Ⓑⓤⓑⓑⓛⓔ、Fullwidth — 用 Unicode 近似字符替换标准字符的 Unicode 样式格式。
- 可分享链接 — 工具将最多200个字符的输入和所选格式同步到 URL,以便通过链接分享预加载状态。
- 保存到 Snippets — 将输出文本保存到命名代码片段供日后使用(supporter 功能)。
如何使用 Case Converter
第一步:选择格式
顶部显示16个格式按钮。每个按钮显示格式名称(悬停时有示例提示)。点击所需格式,所选按钮将高亮显示。
按用途的常见选择:
- 写作与文档:UPPERCASE、lowercase、Title Case、Sentence case
- JavaScript/TypeScript 变量和函数:camelCase
- JavaScript/TypeScript 类和组件:PascalCase
- Python 变量和文件名:snake_case
- CSS 类名和 HTML 属性:kebab-case
- 大多数语言的常量:CONSTANT_CASE
- 社交媒体和娱乐:aLtErNaTiNg、rAnDom、bubble、fullwidth
第二步:输入或粘贴文本
点击输入文本框并输入或粘贴文字。输入框上方显示字符数,输出立即更新,无需按任何按钮。
第三步:查看输出
右侧输出面板显示转换后的文本。上方的标签会更新以反映当前格式(例如"camelCase 输出")。输出的字符数也会显示。
示例:camelCase 转换
输入:get user profile data 输出:getUserProfileData
示例:snake_case 转换
输入:getUserProfileData 输出:get_user_profile_data
示例:Title Case 转换
输入:the quick brown fox jumps over the lazy dog 输出:The Quick Brown Fox Jumps Over The Lazy Dog
示例:Sentence case 转换
输入:THE QUICK BROWN FOX 输出:The quick brown fox
第四步:复制、保存或分享
面板下方的操作栏提供三种操作:
- 复制结果 — 将输出文本复制到剪贴板。
- 保存到 Snippets — 将输出保存到代码片段库以供日后使用(supporter 功能)。
- 清除 — 清空输入框。
页面底部的分享按钮生成一个可分享的链接,对当前输入文本的最多200个字符和所选格式进行编码。
实际应用示例
重构时重命名变量
您正在将数据库列名(snake_case)重命名为 TypeScript 属性名(camelCase)。粘贴 user_first_name,选择 camelCase,得到 userFirstName。每个列名在几秒内即可处理完毕。
为文档准备标题
您有一份从笔记导出的全小写标题列表。将列表粘贴(每行一个),选择 Title Case。每行都会被正确大写,无需逐一手动修改。
从设计系统名称生成 CSS 类名
您的设计 token 使用空格和混合大小写:Primary Background Color。选择 kebab-case 得到 primary-background-color,可直接作为 CSS 自定义属性名或 Tailwind 类使用。
创建 Fullwidth 社交媒体帖子
Fullwidth 将 ASCII 字符转换为其 Unicode 全角等效字符(例如 HELLO 变为 HELLO)。无需任何特殊格式工具即可为社交媒体生成外观独特的文字。
技巧与最佳实践
camelCase 和 PascalCase 会删除标点符号。 两种格式都会删除所有非 Unicode 字母或数字的字符,并将其作为单词边界。hello-world、hello_world 和 hello world 产生相同的结果。这使它们在从任何分隔符格式转换时都很有用。
snake_case 和 kebab-case 处理现有的 camelCase。 转换会识别 camelCase 过渡(一个小写字母后跟一个大写字母),并在该边界处插入分隔符。helloWorld 无需输入中有空格即可变为 hello_world。
Sentence case 将第一个字符之外的所有内容转为小写。 如果您的输入中间有刻意保留的专有名词,Sentence case 会将其转为小写。对于需要保留句中专有名词的文本,请使用其他方法。
可分享链接在200个字符处截断。 URL 编码只捕获输入的前200个字符。较长的文本可以在工具中处理,但共享链接中只会显示前200个字符。完整文本在当前会话期间保留在工具中。
alternating 和 random 不可逆。 这些格式没有逆转换,因为它们不编码有关原始大小写的信息。仅将其用于展示目的,而不用于需要往返转换的数据。
批处理模式将所选大小写独立应用于每一行。 批处理输入中的每一行都单独转换。这对于批量转换标识符列表非常有用。
常见问题排查
camelCase 输出以小写开头,但我需要大写。 使用 PascalCase。PascalCase 也会将第一个单词大写,给出 HelloWorld 而不是 helloWorld。
Title Case 正在大写 "the" 和 "a" 等短词。 工具的 Title Case 使用 regex /(^|\s)(\p{L})/gu 将每个单词大写,不应用 Chicago Manual of Style 或 AP Style 关于短连接词的规则。如果您的样式指南要求智能标题大小写(跳过冠词和介词),则需要在转换后手动应用这些规则。
Sentence case 将我所有的文本都变成了小写。 Sentence case 对第一个字素之后的所有内容应用 toLowerCase(),这是有意为之,产生标准的句子大写。如果句子中间有需要保持大写的缩写词或专有名词,请在转换后手动保留它们。
snake_case 没有在正确的位置插入下划线。 snake_case 逻辑将 camelCase 过渡和空格替换为下划线。如果您的输入包含不寻常的分隔符(例如点、斜杠),当前实现不会将其视为单词分隔符。请先将这些分隔符替换为空格进行预处理。
输出与输入相同。 这对于某些组合是预期结果:对已经是小写的文本应用 lowercase,或对已经是大写的文本应用 UPPERCASE,不会产生可见的变化。
隐私与安全
Case Converter 完全在您的浏览器中处理文本。convertCase 函数使用 JavaScript 字符串方法和 Unicode 感知的正则表达式,不与任何外部服务或 API 联系。可分享链接将最多200个字符的文本作为 URL 参数嵌入,但只有在您点击分享按钮时才会激活。正常使用不会将您的文本放入 URL 中。任何文本都不会发送到任何服务器。
常见问答
Case Converter 免费吗? 是的,完全免费。所有16种格式、可分享链接功能和剪贴板复制均无需付费或账户。Supporter 功能(预设、历史、批处理模式、保存到代码片段)需要 Glyph Widgets supporter 订阅。
支持离线使用吗? 支持。所有大小写转换都使用浏览器原生的 JavaScript 字符串方法和正则表达式,转换过程中不发出任何网络请求。页面加载后,工具无需网络连接即可运行。
我的文本安全吗? 您的文本永远不会发送到任何服务器,所有处理均在本地完成。唯一的例外是可分享链接功能,它将最多200个字符编码到您选择分享的链接中——作为此功能的一部分,不会将数据发送到 Glyph Widgets 服务器。
camelCase 和 PascalCase 有什么区别? 两者都不使用空格连接单词,并将第一个单词之后的每个单词首字母大写。区别在于第一个单词:camelCase 保持小写(helloWorld),而 PascalCase 将其大写(HelloWorld)。PascalCase 用于大多数语言的类名;camelCase 用于 JavaScript、TypeScript 和 Java 中的变量名和函数名。
CONSTANT_CASE 用在哪里? CONSTANT_CASE(也称为 SCREAMING_SNAKE_CASE)用于许多编程语言中的常量:MAX_RETRY_COUNT、API_BASE_URL、DEFAULT_TIMEOUT。它向读者表明该值是不应更改的常量。
Title Case 支持非英语文本吗? 支持。正则表达式使用 Unicode 属性 \p{L}(任何语言的任意字母)来识别词首字母。它会将法语、西班牙语、德语等具有大小写区分的语言中每个单词的首字母大写。
为什么 Sentence case 有时不将第一个字母大写? Sentence case 使用 Intl.Segmenter 查找第一个字素(用户感知的字符)。如果文本以非字母字符(数字、标点或 emoji)开头,工具会保持该字符不变并将其余部分转为小写。这是正确的行为——开头没有需要大写的字母。
交替大小写的工作原理是什么? 它遍历 Array.from(text)(可将多字节 Unicode 字符正确处理为单独的项目),对偶数索引字符应用 toLowerCase(),对奇数索引字符应用 toUpperCase()。字符0为小写,字符1为大写,以此类推。
可以转换整个文档吗? 可以。文本框没有在界面中强制执行的字符限制。对于非常大的文档,在较慢的设备上转换可能需要片刻,但没有固定上限。可分享链接只编码前200个字符。
Unicode 样式格式(superscript、subscript、bubble、fullwidth)实际上做什么? 它们用其他 Unicode 区块中视觉上相似的字符替换标准 ASCII 字符:上标数字和字母、删除线的组合字符、气泡文字的圆圈字母数字,以及宽字符外观的全角形式。这些是装饰性格式,生成的字符可能无法被屏幕阅读器读取,也无法作为普通文本搜索。
相关工具
立即试用:Case Converter