大小写与命名风格转换
在小写、大写、每词首字母大写和代码中的命名风格之间转换文本:camelCase、PascalCase、snake_case、kebab-case 等。
标识符风格和 slug 会逐行分别转换。
把工具固定在这里,会保存在此浏览器中。
固定一个工具,它的贴纸就会出现在这里。
在小写、大写、每词首字母大写和代码中的命名风格之间转换文本:camelCase、PascalCase、snake_case、kebab-case 等。
标识符风格和 slug 会逐行分别转换。
每种标识符风格的第一步都一样:先把输入拆分成单词,再用不同的分隔符和大小写把单词重新连起来。所有不是字母或数字的字符都会分隔单词:空格、标点、连字符、下划线、点号和斜杠。在一串连续的字母中,小写字母或数字后面跟着大写字母时,大写字母开始一个新单词,所以 fooBar 会被拆成 foo 和 Bar。
缩写词会保持完整。在一串大写字母中,如果后面跟着小写字母,最后一个大写字母开始一个新单词,所以 HTTPServer 变成 http_server,parseXMLFile 变成 parse_xml_file。数字跟随它前面的字母:sha256Hash 变成 sha256_hash。两个字母之间的撇号会被删除,所以 don't 得到 dont。
camelCase 是 JavaScript、Java 和 Swift 中变量和函数的命名惯例。PascalCase 在许多语言中用于类名和类型名,在 Go 中用于导出的标识符。snake_case 是 Python、Ruby 和 Rust 变量的命名风格,也常用于 SQL 列名。SCREAMING_SNAKE_CASE 用于常量和环境变量。kebab-case 出现在 URL、CSS 类名和命令行参数中,Train-Case 则用于 HTTP 头部名称,例如 Content-Type。
这里的每词首字母大写(Title Case)会把每个单词的首字母都大写。它不采用某些风格指南中让“of”“and”这类短词保持小写的规则,因为这些规则因指南和语言而异。句首字母大写(Sentence case)先把所有内容转为小写,再把文本开头、每行开头,以及句号、问号、感叹号或省略号加空格之后的第一个字母大写。它无法区分人名或缩写与普通单词,所以 Ask Dr. Smith 会变成 Ask dr. Smith:转换后请检查专有名词和缩写。
slug 是把文本简化为小写 ASCII 字母和数字、并用单个连字符连接的结果。重音的去除方法是:用 Unicode 规范化形式 NFKD 分解每个字母,再去掉组合符号,所以 é 变成 e。同一步骤还会把连字和全角字母变成普通字母,所以单个字符 fi 变成 fi。无法分解的字母会被拼写出来:ß 变成 ss,æ 变成 ae,ø 变成 o。没有 ASCII 对应字符的字符,如汉字或阿拉伯字母,会被丢弃。
其他风格会原样保留带重音的字母和非拉丁字母。大小写转换遵循 Unicode 的默认映射,而不是浏览器所设语言的规则,因此结果不会随浏览器的语言设置而变化。由此带来的一个结果是:ß 的大写写作 SS,土耳其语的无点 ı 和带点 İ 也不会按土耳其语的拼写规则配对。
两者都不用分隔符连接单词,并把每个单词的首字母大写。camelCase 让第一个单词保持小写,如 userName;PascalCase 把第一个单词的首字母也大写,如 UserName。
一串大写字母会被当作一个单词,所以 getUserID 变成 get_user_id,HTTPServer 变成 http_server。在 camelCase 和 PascalCase 中,缩写词只保留一个大写字母,得到 httpServer 和 HttpServer。如果你的代码风格指南要求缩写词全部大写,请手动调整。
可以。每行放一个名称。标识符风格和 slug 会逐行分别转换并保留换行,所以一列列名转换后仍然是一列。
不会。转换由浏览器标签页中的 JavaScript 完成。此工具不会用你输入的内容发出任何网络请求,网站的安全策略也会阻止向其他任何主机发出请求。
它会在独立窗口中打开,离线时也能使用。
要安装,请点按“分享”按钮,然后选择“添加到主屏幕”。