如何用Python的re.sub在INC编号与日期间插入指定文本?
用re.sub在特定INC编号与紧邻日期间插入指定文本
你可以通过正则分组捕获的方式实现需求,具体操作如下:
- 构造正则模式,分别捕获固定的INC编号
INC0459444和紧邻的YYYY-MM-DD格式日期 - 使用
re.sub将两个捕获组与需要插入的\tnull\t拼接替换
示例代码:
import re # 原始文本 input_str = "INC04594442024-06-05 测试内容 INC04594442024-06-07" # 执行替换 output_str = re.sub(r'(INC0459444)(\d{4}-\d{2}-\d{2})', r'\1\tnull\t\2', input_str) print(output_str)
细节说明:
- 正则模式
(INC0459444)(\d{4}-\d{2}-\d{2}):- 第一个括号
(INC0459444)精准捕获目标INC编号 - 第二个括号
(\d{4}-\d{2}-\d{2})匹配紧随其后的日期格式(4位年份+短横线+2位月份+短横线+2位日期)
- 第一个括号
- 替换字符串
r'\1\tnull\t\2':\1引用第一个捕获组的内容(即INC0459444)\tnull\t是你需要插入的带制表符的文本\2引用第二个捕获组的内容(即日期部分)
执行后,所有类似INC04594442024-06-05的字符串都会被替换为INC0459444 null 2024-06-05,实现批量处理。
内容的提问来源于stack exchange,提问作者Mark Ginsburg
相关产品推荐
相关产品推荐

