使用方法
- 在文本框粘贴或输入英文(默认已填 hello world foo bar)。
- 点「转换」或按 Ctrl/Cmd + Enter,也可边输入边看上方结果区实时变化。
- 结果区用 role="alert" 标出,给出「每个词首字母大写、其余小写」后的整段文本。
- 点「复制结果」把转换后的文本存到剪贴板;「载入示例」可随时还原默认示例。
- 若文本框为空,页面会在错误条里提示「请输入要转换的英文文本」,不会输出空结果。
这个工具能解决什么问题
一是把标题、菜单、按钮文案快速规范成首字母大写。CapitalizeEach词工具让英文界面里「hello world」「my account」这类小写串统一成 Title Case 才显得专业,手改既慢又易漏,本工具一次性把每个词首字母抬升,省去逐词编辑。
二是保留你原有的空白结构。很多「标题化」工具会顺手把多空格压成一个、把换行抹平,伤到排版。本工具按空白切分但把空白原样拼回,Tab 与换行都不丢,粘进代码或文案里格式依旧正确。
三是顺手做大小写归一。像 WORLD、wOrLd 这种乱大小写的词,先整体转小写再首字母大写,输出稳定一致,避免出现「World」「world」混排的尴尬。
四是批量处理多段文案时保持风格统一。当一次要处理几十条按钮、导航项时,人工逐个改极易出现「Home」「home」「HOME」混排。本工具对整段文本一次性收敛,输出风格整齐划一,后续做翻译或上线检查时也更省心,配合「复制结果」可直接回贴,省去反复切换窗口。
五是与字数统计、特殊字体等工具形成流水线。先把接口返回的英文标签粘进来统一大小写,再交给字数统计核对长度、交给特殊字体生成器做封面标题,几步串起来就能产出规范且美观的界面文案,无需在多个软件间来回拷贝。
本页不做这些事:不识别专有名词(iPhone、macOS 的特别大小写);不做「仅首词大写」的 Sentence case;也不翻译或改写语义。它只做「每词首字母大写、其余小写」这一件确定之事。
计算原理:按空白切分、逐词首字母抬升、空白原样拼回
切分保留分隔符:用正则 /(\s+)/ 切分,括号捕获空白段,使分隔符作为数组元素被保留。这样「foo bar」(双空格)拆成 ['foo', ' ', 'bar'],重组时双空格原样回来,不会被压成单空格。
逐词转换:对数组里每个「非空白」段,取首字符 toUpperCase()、其余 slice(1).toLowerCase()。空白段直接跳过、原样保留。最终用 join('') 拼回整段文本。
首字符非字母的处理:若词以数字或符号开头(如 123abc),首字符 toUpperCase() 仍是它本身,于是整词保持不变;其余字母仍会被小写化,符合「其余转小写」的约定。
为什么不是 Title Case 全部规则:真正的英文标题规范会跳过 a、the、of 等虚词,且保留专有名词。本工具刻意不做这套语言学判断,只机械地「每个词首字母大写」,保证结果完全可预期、可复现,适合程序化与批量场景。
性能与编码:算法对每个词只做一次大小写转换,时间复杂度与字符数成线性,数万字瞬间完成;中文、Emoji 等非 ASCII 首字符经 toUpperCase 保持不变,因此混入非英文也不会破坏结果,整段处理同样稳定。
完整示例(默认输入实测)
示例与页面默认值完全一致:输入 hello world foo bar。逐项核对:
hello→ 首字母 h 大写、其余小写 →Hello;world→World;foo→Foo;bar→Bar;- 词间单空格原样保留,最终输出 Hello World Foo Bar,与上方结果区、默认输出完全一致。
换成乱大小写输入 hELLo wORLD,输出会变成 Hello World:先整体小写再首字母大写,两个词均被归一。
输入范围与对照表
- 文本长度:浏览器内存内可处理数万字;本页不限制字符上限,但超长文本(十万字级)会略微增加转换耗时,属正常现象。
- 分隔符:凡匹配
\s+的都算词边界,包括空格、Tab、换行、回车。连续多个空白会被当作一个分隔段整体保留。 - 非英文内容:中文、Emoji 等非 ASCII 词首字符经
toUpperCase()通常不变,因此中文串会保持原样,不会被错误改动。 - 对照表:上方列出 5 条例词转换,远小于 12 行,全量展示,无需加载更多或导出。
对照表是「单条词」的示范,整段文本的空白保留由切分算法保证,两者互补说明本工具的行为边界。
结果边界与舍入
- 空白不会被压缩。这是与多数标题化工具最大的不同:本工具用捕获分组保留空白段,双空格、Tab、换行都原样返回,绝不替你「整理」格式。
- 连字符与下划线不拆词。
foo-bar、foo_bar视为一个词,只对首字母大写,连字符/下划线后的字母不大写(除非你后续另行处理)。 - 虚词不做例外。a、the、of、and 等一律首字母大写,不像正式标题规范那样跳过。若你需要「跳过虚词」的 Title Case,本工具不适用。
- 首字符非字母时整词不动首字母。数字或符号开头的词,首字符无法大写,于是保持原值,避免凭空插入字符。
- 全程本地转换。整条链路只有字符串切分、大小写与拼接,全部在浏览器内完成,不发起网络请求,也不写 Cookie 或 localStorage。
常见问题
为什么我的双空格变成单空格了?
正常情况下不会。本工具用带捕获分组的正则切分,空白段作为独立片段原样拼回,双空格、Tab、换行都保留。若你看到被压缩,多半是粘贴时编辑器自行归一了空白,可改用纯文本模式粘贴再试。
iPhone、macOS 这种词为什么没保留原大小写?
因为本工具只做「首字母大写、其余小写」的机械规则,不认识品牌专有名词。iPhone 会被转成 Iphone,macOS 会被转成 Macos。若需保留,请在这些词上做人工修正,或换用支持词典的标题工具。
中文混在里面会怎样?
中文首字符经 toUpperCase 不变,因此中文词会保持原样,不会被错误改动;它前后若夹着英文词,英文词仍按规则大写。整体混排也能安全转换。
能不能只大写每句首词?
不能。本工具对每个词都应用首字母大写,即 Title Case 风格,不是 Sentence case。若你只想句首大写,本工具不适用,需要另行按标点断句处理。
连字符后面的字母为什么不大写?
因为 foo-bar 被当作一个整体词,本工具只对整词的首字符(f)大写,连字符后的 b 属于「其余字母」,按规则转小写。这是「每个词首字母大写」的标准解释。
换行会保留吗?
会。换行、回车都属于 \s 匹配的空白,被捕获为分隔段后原样拼回。多行文本转换后仍是多行,结构不变。
空输入会输出什么?
空输入不会输出空结果,而是提示「请输入要转换的英文文本」。这样可以避免你误把空串当成成功转换而粘贴出去。
转换结果会被上传吗?
不会。所有转换只在你当前浏览器里完成,页面不发起任何网络请求,也不写 Cookie 或 localStorage。你在开发者工具的 Network 面板里点几次「转换」,面板始终是空的。