基本上我有两个字符串,一个是传记,另一个是 year_of_birth。
传记内容为:
abc abc abc。
生于英国。abc abc。
abc abc abc。
year_of_birth 是一个数字。比如说 1920 年。
我不想要的输出是:
abc abc abc。
1920年生于英国。abc abc。
abc abc abc。
所以我只想在 1920 年注入IF 出生关键字,并且在任何 AZ 字符之后但在任何标点符号之前。
我怎样才能做到这一点?
谢谢。
>>> import re
>>> year_of_birth = 1920
>>> re.sub('(?m)[bB]orn[^,.?!:;]+', '\g<0> in %d' % year_of_birth, content)
'abc abc abc abc.\n\nBorn in England in 1920. abc abc abc.\n\nabc abc abc abc.'
这里[^,.?!:;]+
匹配任何不是标点符号的东西。此外,(?m)
表示多行,以防标点符号在下一行。
import re
re.sub(r'(Born.*?)\.', r'\1 in 1920.', bio)