You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Regex/Notepad++将带冒号的大写文本转为加粗首字母大写格式

一步正则实现带冒号大写文本转首字母大写加粗格式

正则匹配与替换方案

根据不同正则工具的支持特性,提供两种一步完成的实现方案:

方案1:支持回调函数的工具(如Python、VS Code高级替换、Sublime Text)

  • 匹配正则:
    \b([A-Z]+(?:\s[A-Z]+)*):
    
  • 替换逻辑:捕获全大写文本后,将其转换为每个单词首字母大写、其余小写的格式,再用加粗标记包裹,保留末尾冒号。
    以Python为例的代码实现:
    import re
    
    subtitle = """HELLO: This is a test.
    GOOD MORNING: How are you?
    ERROR CODE: Please check your input."""
    
    def proper_case_convert(match):
        text = match.group(1)
        return f"**{text.title()}:**"
    
    result = re.sub(r'\b([A-Z]+(?:\s[A-Z]+)*):', proper_case_convert, subtitle)
    print(result)
    

方案2:纯正则替换(PCRE兼容工具,如Notepad++、RegexBuddy)

  • 匹配正则:
    \b([A-Z])([A-Z]*)(?:\s([A-Z])([A-Z]*))*:
    
  • 替换表达式:
    **\u$1\L$2(?: \u$3\L$4)*:**
    
    注:该语法依赖PCRE引擎的\u(单个字符转大写)和\L(后续字符转小写)修饰符,确保多单词文本的每个首字母大写、其余字母小写。

示例验证

原字幕内容:

HELLO: This is a test.
GOOD MORNING: How are you?
SYSTEM ALERT: Connection lost.

替换后效果:

Hello: This is a test.
Good Morning: How are you?
System Alert: Connection lost.

关键逻辑说明

  1. 匹配规则:\b确保匹配完整单词边界,[A-Z]+(?:\s[A-Z]+)*精准匹配由空格分隔的连续全大写单词序列,最后锁定末尾的冒号:。
  2. 格式转换:通过首字母大写+其余小写的规则修正文本格式,同时用**包裹实现加粗效果,一步完成所有需求。

内容的提问来源于stack exchange,提问作者Hank K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:20:49