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

正则替换输出的条件空格优化:现场曲目活动与年份提取

解决现场曲目活动名称+年份提取的正则问题

针对你遇到的两个问题——无年份时出现多余空格、年份无前导空格无法正确捕获——可以通过**.NET正则替换的条件语法**实现单次替换解决,不需要额外处理步骤。

修改后的代码

myResult = Regex.Replace(myTitle, @".*(event1|event2|event3)\D*(\d+)?.*", @"${1}${2:+ $2}", RegexOptions.IgnoreCase);

关键改进点

  • 消除多余空格:使用.NET正则替换的条件表达式${2:+ $2},逻辑是:如果捕获组$2(年份)有值,就插入 年份`(空格加年份);如果$2为空,就什么都不插,彻底避免无年份时的多余空格。
  • 兼容无前导空格的年份:原正则中的\D*是匹配零或多个非数字字符,所以即使年份直接跟在活动名后面(比如event22023),\D*会匹配0个字符,年份依然能被(\d+)捕获,完美兼容这种场景。

测试示例

  • 输入:"Track - event1 Live 2023" → 输出:event1 2023
  • 输入:"event32022 Live Show" → 输出:event3 2022
  • 输入:"Live Performance - event2" → 输出:event2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:15:41