0

基本的に私は2つの文字列を持っています。1つは伝記で、もう1つはyear_of_birthです。

伝記の内容は次のとおりです。

abc abcabcabc。

イギリス生まれ。abcabcabc。

abc abcabcabc。

year_of_birthは数値です。1920と言います。

私の望まない出力は次のとおりです。

abc abcabcabc。

1920年にイギリスで生まれました。abcabcabc。

abc abcabcabc。

したがって、1920年に、生まれたキーワードが見つかった場合、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 に答える