如何用冒号(:
(替换引文中页码的指示:S.
示例:
x = 'Laut Durkheim ist ein "soziologischer Tatbestand [...] individuellen Äußerungen unabhängiges Eigenleben besitzt" (Durkheim 1984, S. 115).'
->'[…](涂尔干1984:115(
x = x.replace('S', '')
print(x)
Laut Durkheim ist ein "soziologischer Tatbestand [...] individuellen Äußerungen unabhängiges Eigenleben besitzt" (Durkheim 1984, . 115).
x = x.replace('.', ':')
print(x)
Laut Durkheim ist ein "soziologischer Tatbestand [:::] individuellen Äußerungen unabhängiges Eigenleben besitzt" (Durkheim 1984, : 115):
第一部分删除引文中的"S"。第二部分删除引文中的每一个点。它应该只是删除大括号内的点。
您可以同时替换多个字符。
>>> x = 'Laut Durkheim ist ein "soziologischer Tatbestand [...] individuellen Äußerungen unabhängiges Eigenleben besitzt" (Durkheim 1984, S. 115).'
>>> x.replace('S.', ':')
'Laut Durkheim ist ein "soziologischer Tatbestand [...] individuellen Äußerungen unabhängiges Eigenleben besitzt" (Durkheim 1984, : 115).'
正如mhawke"S"所说可以存在于字符串中的其他位置,而replace函数将更改所有这些值。
假设没有其他"S"出现在我们要替换的字符串之后,我们可以反向拆分字符串,并将拆分的部分与我们想要的字符连接起来。
>>> x = 'S. Laut Durkheim ist ein "soziologischer Tatbestand [...] individuellen Äußerungen unabhängiges Eigenleben besitzt" (Durkheim 1984, S. 115).'
>>> ':'.join(x.rsplit('S.', 1))
'S. Laut Durkheim ist ein "soziologischer Tatbestand [...] individuellen Äußerungen unabhängiges Eigenleben besitzt" (Durkheim 1984, : 115).'
如果没有,请检查贾维斯的回答。
使用regex的解决方案(只替换后面跟着空白和数字的S.
(:
import re
>>> x = 'Laut Durkheim ist ein "soziologischer Tatbestand [...] individuellen Äußerungen unabhängiges Eigenleben besitzt" (Durkheim 1984, S. 115).'
>>> re.sub(r",W*(S.)(W*d+)", ":\2", x)
'Laut Durkheim ist ein "soziologischer Tatbestand [...] individuellen Äußerungen unabhängiges Eigenleben besitzt" (Durkheim 1984: 115).'