大小写转换
全大/全小/首字母/句首/驼峰/蛇形/短横
全部风格预览(点击复制按钮即取走)
命名风格对照
· camelCase 驼峰(首字母小写):JS/TS 变量、Java 方法
· PascalCase 大驼峰:类名、React 组件、Go 公开标识符
· snake_case 蛇形:Python / Ruby / 数据库列名
· kebab-case 烤串:HTML 属性、URL slug、CSS 类名
· CONSTANT_CASE / SCREAMING_SNAKE_CASE:常量、环境变量
· dot.case:i18n 键、配置路径
· Title Case 智能版:英文标题规范 —— 首尾词大写、实词大写、虚词(the/a/an/and/or/of/in/at/on/to/for/by/with)小写
关于本工具
了解工具定位 · 使用场景 · 对比优势
将一段文字批量转换为全大写、全小写、首字母大写、句首大写、驼峰式、蛇形式或短横式。适合开发者统一代码命名风格、文案编辑处理标题格式、数据录入员清洗不一致的文本。输入文本后选择转换类型,结果即时生成。所有处理在浏览器内完成,文本不上传服务器。
使用场景
代码变量重命名
开发者在接手旧项目或重构代码时,常遇到变量命名风格不统一的问题——有的用下划线(user_name),有的用驼峰(userName),还有的全大写(USER_NAME)。使用本工具,只需粘贴代码片段,一键切换为项目约定的命名风格(如蛇形或驼峰),避免手动逐行修改的繁琐和拼写错误,提升代码整洁度。
论文格式统一
学术写作者在整理参考文献时,常从不同数据库复制标题,导致大小写格式混乱(如有的全大写、有的仅首字母大写)。使用本工具,可批量将标题统一为「句首大写」格式,符合 APA/MLA 等引用规范,省去逐一检查的时间,避免因格式错误被退修。
邮件地址规范化
商务人士在整理客户联系表时,邮箱地址常混有全大写(JOHN.DOE@EXAMPLE.COM)或随机大小写(John.Doe@Example.com),影响数据导入和匹配。使用本工具,一键将邮箱地址转为全小写,确保数据一致性,避免后续系统因大小写敏感导致的发送失败或重复记录。
数据库字段映射
数据分析师在合并多个数据源时,不同系统对字段名的命名规则各异(如 MySQL 用蛇形 user_id,Java 后端用驼峰 userId)。使用本工具,可批量将字段名在驼峰与蛇形之间互转,快速生成映射脚本,减少手动转换的出错概率,加速数据清洗流程。
CSS 类名转换
前端开发者在编写 HTML/CSS 时,类名通常采用短横线命名(main-content),但 JavaScript 中引用时需转为驼峰(mainContent)。使用本工具,可一键在短横线与驼峰之间切换,避免手动替换时遗漏或写错,保证样式与逻辑的命名一致性。
配置文件批量处理
运维人员在维护多台服务器的配置文件时,常遇到环境变量名大小写不统一(如 PATH 与 Path)。使用本工具,可批量将所有键名转为全大写或全小写,符合 Linux 环境变量惯例(全大写),减少因大小写敏感导致的配置加载失败问题。
对比矩阵本工具 vs 竞品 vs 传统方法
| 维度 | 本工具 | 竞品 A (TextCaseConvert) | 传统方法 (Word/文本编辑器) |
|---|---|---|---|
| 数据隐私 | 纯浏览器处理,文件不上传服务器 | 部分方案需上传文本至云端处理 | 文件保存在本地,但需手动操作 |
| 处理速度 | 即时处理,毫秒级响应 | 取决于网络延迟,通常 1-3 秒 | 依赖人工操作,耗时较长 |
| 离线可用 | 完全离线可用,无需网络 | 部分功能需要网络连接 | 完全本地,无需网络 |
| 转换模式 | 全大/全小/首字母/句首/驼峰/蛇形/短横共 7 种 | 通常提供 4-5 种基础转换 | 通常仅支持全大/全小/首字母大写 |
| 批量处理 | 支持大文本即时转换 | 有字符数限制或需付费解锁 | 无明确限制,但人工处理效率低 |
| 收费模式 | 完全免费,无任何限制 | 基础免费,高级功能/去广告需付费 | 需购买 Office 软件授权 |
使用指南
上手步骤 · 输入输出 · 避坑提示
使用步骤
- 在输入框粘贴或键入文本,支持中英文、数字及符号混合内容
- 从「全大写」「全小写」「首字母大写」「句首大写」「驼峰式」「蛇形式」「短横式」中选择目标格式
- 点击「转换」按钮,结果区即时显示转换后的文本
- 点击结果区右侧的「复制」按钮,将转换结果存入剪贴板
输入输出示例8 个典型场景,覆盖常规、边界与易错
| 输入 | 输出 | 说明 |
|---|---|---|
| hello world | HELLO WORLD | 典型场景:全大写转换,常用于强调标题 |
| HELLO WORLD | hello world | 典型场景:全小写转换,标准化输入 |
| hello world | Hello World | 典型场景:首字母大写,用于姓名或标题 |
| hello world. it's a test. | Hello world. It's a test. | 典型场景:句首大写,自动识别句号分隔 |
| hello world example | helloWorldExample | 典型场景:驼峰命名,用于编程变量名 |
| helloWorldExample | hello_world_example | 易错 case:蛇形命名,输入已是驼峰格式 |
| helloWorldExample | hello-world-example | 易错 case:短横命名,与蛇形易混淆 |
| HELLO WORLD | hello world | 边界 case:输入含多余空格,自动清理 |
常见错误对照8 个常踩的坑 · 错误 → 修复
1. 驼峰转换时误把数字也当单词分隔
user2Nameuser2name驼峰转换通常以字母边界为分隔,数字不触发大写;'user2Name' 应视为 'user2name' 转小驼峰为 'user2name'
2. 蛇形/短横转换时未处理连续空格
hello__world (输入 'hello world' 带双空格)hello_world工具默认将连续空白符合并为一个分隔符;双空格不会生成双下划线,而是单下划线
3. 句首大写后误把专有名词也改小写
Hello, the iphone is great.Hello, the iPhone is great.句首大写只改首字母,不识别专有名词;'iPhone' 等品牌名需手动保留原样
4. 首字母大写时忽略引号/括号后的单词
“hello” world → “Hello” World“hello” world → “Hello” world首字母大写只对每个单词独立操作,不识别标点后的新句子;引号内的 'hello' 也会被大写
5. 全大写/全小写时误改 URL 或代码标识符
https://example.com → HTTPS://EXAMPLE.COMhttps://example.com (保持原样)工具对所有字符统一转换;URL 协议、域名大小写不敏感但路径可能敏感,建议只转换纯文本
6. 蛇形转驼峰时误保留前导/后置下划线
_my_var → _MyVar_my_var → myVar (去掉前导下划线)蛇形转驼峰通常忽略前导/后置分隔符,只保留单词首字母大写;前导下划线应丢弃
7. 短横转驼峰时把连字符当单词一部分
well-known → wellKnownwell-known → wellKnown连字符 ' - ' 是分隔符,不是单词字符;'well-known' 转驼峰为 'wellKnown','well' 首字母小写
8. 全小写转换后丢失了必要的首字母大写
iPhone → iphone (用于句子开头)iPhone → iPhone (保留原样)全小写工具不会区分语境;如果 'iPhone' 在句首需要大写,应使用句首大写模式而非全小写
工作原理
公式推导 · 流程图解 · 依据出处
核心公式
camelCase: 移除分隔符,首单词小写,后续单词首字母大写;snake_case: 以 '_' 分隔,全部小写;kebab-case: 以 '-' 分隔,全部小写
变量说明
input— 原始字符串separator— 原分隔符(空格/下划线/短横等)case_rule— 大小写规则(全大/全小/首字母等)
示例
输入 'hello world example',转换为 camelCase:移除空格,首单词 'hello' 小写,后续单词首字母大写 → 'helloWorldExample'。转换为 snake_case:空格替换为 '_',全部小写 → 'hello_world_example'。转换为 kebab-case:空格替换为 '-',全部小写 → 'hello-world-example'。
适用范围
适用于英文单词或标识符(变量名/文件名/URL slug)。不适用于中文、数字开头、或含特殊符号(@#$%)的字符串,转换后可能不符合编程命名规范。
原理图
开发者集成
3 种主流语言 · 复制即用
import re
def to_snake_case(text: str) -> str:
"""驼峰/短横/空格分隔 → 蛇形"""
s1 = re.sub(r'[\-\s]', '_', text)
s2 = re.sub(r'([A-Z])', r'_\1', s1).lower()
return s2.lstrip('_')
# 示例
print(to_snake_case('helloWorld')) # hello_world
print(to_snake_case('kebab-case')) # kebab_case
print(to_snake_case('Title Case')) # title_case
def to_camel_case(text: str) -> str:
"""蛇形/短横 → 小驼峰"""
parts = re.split(r'[\-_\s]+', text)
return parts[0] + ''.join(p.capitalize() for p in parts[1:])
print(to_camel_case('hello_world')) # helloWorld
print(to_camel_case('kebab-case')) # kebabCasepackage main
import (
"fmt"
"regexp"
"strings"
)
// ToSnakeCase 将驼峰/短横/空格分隔转为蛇形
func ToSnakeCase(s string) string {
re := regexp.MustCompile(`[\-\s]`)
s = re.ReplaceAllString(s, "_")
re = regexp.MustCompile(`([A-Z])`)
s = re.ReplaceAllString(s, "_$1")
return strings.TrimLeft(strings.ToLower(s), "_")
}
func main() {
fmt.Println(ToSnakeCase("helloWorld")) // hello_world
fmt.Println(ToSnakeCase("kebab-case")) // kebab_case
}
// ToCamelCase 将蛇形/短横转为小驼峰
func ToCamelCase(s string) string {
parts := regexp.MustCompile(`[\-_\s]+`).Split(s, -1)
for i := 1; i < len(parts); i++ {
if len(parts[i]) > 0 {
parts[i] = strings.ToUpper(parts[i][:1]) + parts[i][1:]
}
}
return strings.Join(parts, "")
}// 蛇形/短横 → 小驼峰
function toCamelCase(str) {
return str
.split(/[\-_\s]+/)
.map((word, i) => i === 0 ? word : word[0].toUpperCase() + word.slice(1))
.join('');
}
console.log(toCamelCase('hello_world')); // helloWorld
console.log(toCamelCase('kebab-case')); // kebabCase
// 驼峰/短横 → 蛇形
function toSnakeCase(str) {
return str
.replace(/[\-\s]/g, '_')
.replace(/([A-Z])/g, '_$1')
.toLowerCase()
.replace(/^_/, '');
}
console.log(toSnakeCase('helloWorld')); // hello_world
console.log(toSnakeCase('Title Case')); // title_case常见问题
8 个高频疑问