⌘K 切换工具
TEXT

字符串大小写转换工具

字符串大小写转换和文本转换。

local
string-utils
§01 关于此工具

概述

字符串大小写转换器在你每天都要打交道的各种命名约定之间转换文本:常量 (UPPERCASE)、标识符(camelCasesnake_case)、URL 与 CSS 类名 (kebab-case),以及标题(Title Case)。另外两个实用功能把它补齐: Reverse 反转字符顺序,Trim lines 去掉每一行首尾的空白, 整理粘贴进来的代码或 CSV 片段时很方便。

同一个概念在不同的层上有不同写法,正是这类转换存在的理由:数据库列名用下划线, JSON 字段用小驼峰,URL 片段和 CSS 类名用连字符,而这三者往往指的是同一件事。

使用方法

  1. 选一个操作按钮:UPPERCASElowercaseTitle CasecamelCasesnake_casekebab-caseReverseTrim lines
  2. Input 里输入或粘贴文本,Output 框随着你的输入更新。
  3. 随时切换按钮,当前输入会立刻按新的操作重新变换。

示例

  • user profile page + camelCaseuserProfilePage
  • user-profile-page + snake_caseuser_profile_page
  • hello world + Title CaseHello World

多行输入同样有效:Trim lines 会把每一行的 indented line 变成 indented line

说明

变换是单向的,没有撤销历史——如果之后还可能用到原文,请自己留一份。Title Case 会把每个单词都首字母大写,包括 “the”、“of” 这类虚词,也就是说它遵循的是一条简单规则, 而不是 AP 或 Chicago 这样的编辑体例。变换作用于整段输入而不是其中选中的部分, 所以只想处理一小段时,请把那一段单独粘进来。

FAQ
我的文本会被发送到服务器吗?
不会。每一种变换都只是浏览器里的普通 JavaScript 字符串操作,输入不会离开这个页面。
camelCase、snake_case、kebab-case 是怎么切分单词的?
输入按空白、下划线和连字符切分。因此 user_name、user-name 和 user name 都能干净地转换,但本身已经是 camelCase 的词(例如 userName)会被当成一个单词,不会被重新拆开。
Reverse 能正确处理 emoji 吗?
大体可以。它按 Unicode 码点而不是 UTF-16 码元反转,因此像 emoji 这样的代理对字符能保持完整;不过组合旗帜、ZWJ emoji 这类多码点序列仍然可能被拆散。