Python正则替换:处理时间字符串,移除指定字符及中间数字
Python字符串格式转换:移除小数部分并替换特殊字符
针对你的需求,这里提供两种实用的实现方式:
方法一:正则表达式(简洁高效)
正则可以一次性匹配并替换掉.和+之间的数字部分,再处理剩余的冒号替换:
import re original = 'manual__2025-04-08T11:37:13.757109+00:00' # 匹配 ".数字+" 格式的片段,替换为下划线;再把所有冒号换成下划线 target = re.sub(r'\.\d+\+', '_', original).replace(':', '_') print(target) # 输出: manual__2025-04-08T11_37_13_00_00
正则表达式r'\.\d+\+'的含义:
\.:匹配字面量的点号(避免被当作正则通配符)\d+:匹配一个或多个数字\+:匹配字面量的加号
方法二:字符串拆分拼接(直观易懂)
通过拆分字符串提取需要的部分,再重新拼接并替换符号:
original = 'manual__2025-04-08T11:37:13.757109+00:00' # 按点号拆分,取时间的整数部分 time_part = original.split('.')[0] # 按加号拆分,取时区部分 tz_part = original.split('+')[1] # 拼接并替换所有冒号为下划线 target = f"{time_part}_{tz_part}".replace(':', '_') print(target)
两种方法都能得到你想要的结果,正则法更适合处理类似的复杂格式转换,拆分法则更适合新手理解逻辑。
内容的提问来源于stack exchange,提问作者Ale
相关产品推荐
相关产品推荐

