0

基本上我有两个字符串,一个是传记,另一个是 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 字符之后但在任何标点符号之前。

我怎样才能做到这一点?

谢谢。

4

2 回答 2

3
>>> 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)表示多行,以防标点符号在下一行。

于 2013-02-16T03:55:18.463 回答
1
import re
re.sub(r'(Born.*?)\.', r'\1 in 1920.', bio)
于 2013-02-16T03:41:32.400 回答