Skip to main content
 首页 » 编程设计

Python 用 1985 替换像 '85 这样的年份

2025年05月04日15yjmyzz

我正在使用此正则表达式将字符串中所有出现的 '85 形式的年份替换为 1985

import re 
re.sub("'(\d\d)", "19\1", "Today '45") 

但我得到的结果与预期相去甚远:

'Today 19\x01' 

我希望得到 Today 1945。我想知道什么是正确的方法。非常感谢任何帮助。

请您参考如下方法:

将字符串设为原始字符串

>>> re.sub(r"'(\d\d)", r"19\1", "Today '45") 
'Today 1945' 

或者如 Avinash 所建议的那样,使用单词边界 \b。它们更好,因为它们可以帮助您忽略不是两位数的数字,例如 3456

>>> re.sub(r"'(\d{2})\b", r"19\1", "Today '45, '3456") 
"Today 1945, '3456"