工具
指南

文本转换

文本

在命名规范、字母大小写、全半角之间转换文本,并支持反转。

100% 客户端 无后端
输入
输出
本页内容

什么是文本转换工具?#

文本转换工具按一条固定规则改写一段文字——改大小写、切换命名风格、在半角和全角之间互转、或者把字符顺序倒过来。这些活儿大多数在你脑子里都有一行答案,直到真去做才发现没那么简单:“把这个表头转成 kebab-case”,对 Content Type 来说一目了然,但对 HTTPServergetUserById_v2X-Rate-Limit-Remaining 就有歧义了——哪部分算一个词?边界在哪?

这个工具用一套确定不变的拆词器来回答这个问题。它先把各种分隔符(下划线、连字符、空格、标点)归一化,再在 camelCase / PascalCase 的接缝处、缩写与单词的交界处(HTTPServerHTTP Server)、字母与数字的交界处(v2v 2)插进边界。得到的词段喂给十二种操作:五种命名风格(camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE)、四种大小写(全大写、全小写、标题式、句首式)、东亚宽度互转(半角 ↔ 全角),以及反转。反转按 Unicode 码位走,所以 emoji 和其他代理对字符能完整存活,不会被拆成坏掉的两半。

怎么使用#

  1. 在工具栏的 操作 下拉里选一种。十二个选项按逻辑分组:先是命名风格,再是大小写,然后是宽度转换,最后是反转。
  2. 在左侧 输入 框里输入或粘贴,或者点 示例 加载一段能考验拆词器的文字。
  3. 看右侧 输出 框——输入或所选操作一变,结果立刻刷新。
  4. 点输出栏标题里的 复制 取走转换结果,或点 清除 重新来。

这些操作都是”完全的”:空输入给空输出,没有任何操作会抛异常。切换下拉会用同一套输入立刻跑一遍新规则,所以很适合用来对同一个标识符快速对比,比如 snake_case 和 kebab-case 哪个更合适。

主要特性#

  • 一套拆词器,十二种输出。 同一套词边界喂给所有命名风格,所以 getUserById_v2 会稳定地产出 getUserByIdV2 / GetUserByIdV2 / get_user_by_id_v2 / get-user-by-id-v2 / GET_USER_BY_ID_V2
  • 识别缩写边界。 HTTPServer 被拆成 HTTP + Server,而不是 H T T P Server——它认得”一串大写字母后跟一个大写加小写的词”这种模式,让缩写保持可读。
  • 字母与数字的边界。 v2 被拆成两个词段,所以 version2 在转 slug 时干干净净,不会把一个数字黏在词尾巴上。
  • 东亚宽度互转。 半角 ASCII Hello 123 变全角 Hello 123(空格也一起转),反向又能还原成 ASCII——填东亚表单或对齐 CJK 文字时常用。
  • 按码位反转。 反转 a😀b 得到 b😀a,而不是一个坏掉的 emoji——拆词器按码位走,不是按 UTF-16 代码单元走。
  • 本地即时。 没有网络、不上传;每一次转换都是页面里的纯字符串运算。

实例演示#

把一个人能读懂的标签贴进输入框:

user first name

依次切换五种命名风格,看输出框:

  • camelCaseuserFirstName
  • PascalCaseUserFirstName
  • snake_caseuser_first_name
  • kebab-caseuser-first-name
  • CONSTANT_CASEUSER_FIRST_NAME

再来一个更杂的、混了好几种风格的标识符:

HTTPServer v2

因为拆词器认得 HTTP + Server 这个边界,也认得 v + 2 这个边界,输出保持可读,不会塌成一坨 httpservver-v2

  • kebab-casehttp-server-v-2
  • snake_casehttp_server_v_2
  • CONSTANT_CASEHTTP_SERVER_V_2

这就是”真懂标识符结构的转换”和”只是小写化再加个分隔符”之间的差别。

常见问题#

为什么 HTTPServer 没有变成 h-t-t-p-server#

因为拆词器把”一串大写字母后跟一个大写加小写的词”当成一个缩写加一个词。HTTPServer 被读成 HTTP + Server,这几乎总是你想要的意思。一个见到大写字母就硬拆的拆词器会产出 h-t-t-p-server 这种没法读的 slug。

标题式(Title Case)和句首式(Sentence Case)有什么区别?#

标题式把每一个空格分隔的词的首字母都大写(the quick foxThe Quick Fox),适合标题、书名。句首式只把整段文字的第一个字母大写(the quick foxThe quick fox),适合正文和句子。按这段文字到底是什么来选。

半角全角互转什么时候用得上?#

东亚排版,以及一些政务/商务表单,期望拉丁字母和数字是全角(ABC123),好跟 CJK 字符在视觉上对齐。反过来,从日文来源复制下来的文字经常是全角的,得先还原成 ASCII,正则或代码解析器才认。这两种操作互为精确的逆运算。

反转能正确处理 emoji 吗?#

能。这个操作按 Unicode 码位迭代(用 Array.from),不是按 UTF-16 代码单元,所以基本多文种平面之外的字符——像 😀 这种 emoji、罕用 CJK 汉字、数学符号——都作为一个整体被反转。反转 abc😀def 得到 fed😀cba,emoji 完整无缺。

这个工具能用来批量改文件名或变量名吗?#

单个标识符完全没问题——粘进来、选风格、复制走。批量的话通常写脚本,但这一页是快速确认某种命名风格到底产出什么的好地方,尤其是那种容易招来 bug 的混合大小写输入,在你把规则写进正则或批量改写工具之前先核一遍。