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

如何用单行Python正则表达式处理字符串并添加指定标点?

解决方案

可以通过单行正则替换一次性完成所有格式调整,核心思路是用正则分组匹配不同需要修改的位置,再通过lambda表达式根据匹配结果返回对应的替换内容:

import re

text = 'EffectsRelaxed96% VotedHappy79% VotedEuphoric67% Voted'
formatted_text = re.sub(
    r'(Effects)|(Voted)(?=\s?[A-Z])|([a-zA-Z])(\d)|(\w)([A-Z])',
    lambda m: (
        f"{m.group(1)}: " if m.group(1)
        else f"{m.group(2)}, " if m.group(2)
        else f"{m.group(3)} {m.group(4)}" if m.group(3)
        else f"{m.group(5)} {m.group(6)}"
    ),
    text
)
print(formatted_text)  # 输出: Effects: Relaxed 96% Voted, Happy 79% Voted, Euphoric 67% Voted

正则规则说明

  • (Effects):精准匹配开头的"Effects",替换时追加:
  • (Voted)(?=\s?[A-Z]):匹配后面跟着可选空格+大写字母的"Voted"(即非末尾的Voted),替换时追加,
  • ([a-zA-Z])(\d):匹配字母与数字的衔接处(比如Relaxed96),在中间插入空格
  • (\w)([A-Z]):匹配小写字母/数字与大写字母的衔接处(比如EffectsRelaxed、VotedHappy),在中间插入空格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:15:35