Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

how can I replace the indication of page numbers in the citations: S. with a colon (:)

example:

x = 'Laut Durkheim ist ein "soziologischer Tatbestand [...] individuellen ?u?erungen unabh?ngiges Eigenleben besitzt" (Durkheim 1984, S. 115).'

-> '[...] (Durkheim 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):

The first part removes the 'S' from the citation. The second part removes every dot in the citation. It should just remove the dot within the brace.

question from:https://stackoverflow.com/questions/65644105/how-to-replace-a-special-character

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
68 views
Welcome To Ask or Share your Answers For Others

1 Answer

Solution with regex (will only replace the S. occurrences followed by a whitespace and digits) :

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).'

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...