文本转换
文本在命名规范、字母大小写、全半角之间转换文本,并支持反转。
本页内容
什么是文本转换工具?#
文本转换工具按一条固定规则改写一段文字——改大小写、切换命名风格、在半角和全角之间互转、或者把字符顺序倒过来。这些活儿大多数在你脑子里都有一行答案,直到真去做才发现没那么简单:“把这个表头转成 kebab-case”,对 Content Type 来说一目了然,但对 HTTPServer、getUserById_v2、X-Rate-Limit-Remaining 就有歧义了——哪部分算一个词?边界在哪?
这个工具用一套确定不变的拆词器来回答这个问题。它先把各种分隔符(下划线、连字符、空格、标点)归一化,再在 camelCase / PascalCase 的接缝处、缩写与单词的交界处(HTTPServer → HTTP Server)、字母与数字的交界处(v2 → v 2)插进边界。得到的词段喂给十二种操作:五种命名风格(camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE)、四种大小写(全大写、全小写、标题式、句首式)、东亚宽度互转(半角 ↔ 全角),以及反转。反转按 Unicode 码位走,所以 emoji 和其他代理对字符能完整存活,不会被拆成坏掉的两半。
怎么使用#
- 在工具栏的 操作 下拉里选一种。十二个选项按逻辑分组:先是命名风格,再是大小写,然后是宽度转换,最后是反转。
- 在左侧 输入 框里输入或粘贴,或者点 示例 加载一段能考验拆词器的文字。
- 看右侧 输出 框——输入或所选操作一变,结果立刻刷新。
- 点输出栏标题里的 复制 取走转换结果,或点 清除 重新来。
这些操作都是”完全的”:空输入给空输出,没有任何操作会抛异常。切换下拉会用同一套输入立刻跑一遍新规则,所以很适合用来对同一个标识符快速对比,比如 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,而不是HTTPServer——它认得”一串大写字母后跟一个大写加小写的词”这种模式,让缩写保持可读。 - 字母与数字的边界。
v2被拆成两个词段,所以version2在转 slug 时干干净净,不会把一个数字黏在词尾巴上。 - 东亚宽度互转。 半角 ASCII
Hello 123变全角Hello 123(空格也一起转),反向又能还原成 ASCII——填东亚表单或对齐 CJK 文字时常用。 - 按码位反转。 反转
a😀b得到b😀a,而不是一个坏掉的 emoji——拆词器按码位走,不是按 UTF-16 代码单元走。 - 本地即时。 没有网络、不上传;每一次转换都是页面里的纯字符串运算。
实例演示#
把一个人能读懂的标签贴进输入框:
user first name
依次切换五种命名风格,看输出框:
- camelCase →
userFirstName - PascalCase →
UserFirstName - snake_case →
user_first_name - kebab-case →
user-first-name - CONSTANT_CASE →
USER_FIRST_NAME
再来一个更杂的、混了好几种风格的标识符:
HTTPServer v2
因为拆词器认得 HTTP + Server 这个边界,也认得 v + 2 这个边界,输出保持可读,不会塌成一坨 httpservver-v2:
- kebab-case →
http-server-v-2 - snake_case →
http_server_v_2 - CONSTANT_CASE →
HTTP_SERVER_V_2
这就是”真懂标识符结构的转换”和”只是小写化再加个分隔符”之间的差别。
常见问题#
为什么 HTTPServer 没有变成 h-t-t-p-server?#
因为拆词器把”一串大写字母后跟一个大写加小写的词”当成一个缩写加一个词。HTTPServer 被读成 HTTP + Server,这几乎总是你想要的意思。一个见到大写字母就硬拆的拆词器会产出 h-t-t-p-server 这种没法读的 slug。
标题式(Title Case)和句首式(Sentence Case)有什么区别?#
标题式把每一个空格分隔的词的首字母都大写(the quick fox → The Quick Fox),适合标题、书名。句首式只把整段文字的第一个字母大写(the quick fox → The quick fox),适合正文和句子。按这段文字到底是什么来选。
半角全角互转什么时候用得上?#
东亚排版,以及一些政务/商务表单,期望拉丁字母和数字是全角(ABC123),好跟 CJK 字符在视觉上对齐。反过来,从日文来源复制下来的文字经常是全角的,得先还原成 ASCII,正则或代码解析器才认。这两种操作互为精确的逆运算。
反转能正确处理 emoji 吗?#
能。这个操作按 Unicode 码位迭代(用 Array.from),不是按 UTF-16 代码单元,所以基本多文种平面之外的字符——像 😀 这种 emoji、罕用 CJK 汉字、数学符号——都作为一个整体被反转。反转 abc😀def 得到 fed😀cba,emoji 完整无缺。
这个工具能用来批量改文件名或变量名吗?#
单个标识符完全没问题——粘进来、选风格、复制走。批量的话通常写脚本,但这一页是快速确认某种命名风格到底产出什么的好地方,尤其是那种容易招来 bug 的混合大小写输入,在你把规则写进正则或批量改写工具之前先核一遍。