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

如何在Python中移除字符串中从YYYY.MM.DD到Tech|的子串

问题:移除指定文本段内容

输入文本:

dbt とは何をするツールなのか?2022.02.09data build tool|dbt|Tech|こんにちは、ソフトウェアエンジニアの冨田です。

期望输出:

dbt とは何をするツールなのか?こんにちは、ソフトウェアエンジニアの冨田です。

你当前使用的代码无法移除Tech|部分:

text = re.sub(r'\d{4}\.\d{2}\.\d{2}(?=.*Tech|)', '', text)

问题原因

  1. 正则中的(?=.*Tech|)是正向预查,仅用于断言后续存在指定内容,不会实际匹配并删除该部分;
  2. |是正则元字符,未转义的话会被解析为分支匹配,导致Tech|被错误识别为Tech或空字符串。

解决方法

使用非贪婪匹配从日期开始到Tech|的所有内容,同时转义|:

import re

text = "dbt とは何をするツールなのか?2022.02.09data build tool|dbt|Tech|こんにちは、ソフトウェアエンジニアの冨田です。"
result = re.sub(r'\d{4}\.\d{2}\.\d{2}.*?Tech\|', '', text)
print(result)

正则说明

  • \d{4}\.\d{2}\.\d{2}:匹配YYYY.MM.DD格式的日期;
  • .*?:非贪婪匹配任意字符(尽可能少匹配),避免跳过目标Tech|匹配到更后面的内容;
  • Tech\|:转义|后,精确匹配Tech|字符串,确保删除截止到该位置的所有内容。

运行后即可得到期望的输出结果。

内容的提问来源于stack exchange,提问作者Julieta M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:12:50