替换 python 中字符串的日期部分

replace the date section of a string in python

如果我有一个字符串 'Tpsawd_20220320_default_economic_v5_0.xls'.

我想用日期变量替换日期部分 (20220320)(即,如果我定义日期 = 20220410,它将用该日期替换 20220320)。我应该如何使用内置 python 包来实现?请注意字符串中的日期位置可能会有所不同。它可能是 'Tpsawd_default_economic_v5_0_20220320.xls' 或 'Tpsawd_default_economic_20220320_v5_0.xls'

是的,这可以用正则表达式很容易地完成~

import re

s = 'Tpsawd_20220320_default_economic_v5_0.xls'
date = '20220410'
s = re.sub(r'\d{8}', date, s)
print(s)

输出:

Tpsawd_20220410_default_economic_v5_0.xls

这将替换第一次在给定字符串中找到的连续 8 个数字,在本例中为 date