我想在文本中的点之前和之后放置一个空格,但前提是它不是日期的一部分。
到目前为止,我有这个,我想我必须做一些与\D\
。但它返回的字母之前的点不仅是点:
string = re.sub("\.", " . ", string)
例如:
输入文本:
1992.01.04 is my birthday.
所需输出:
1992.01.04 is my birthday .
字符串.结尾前有一个空格。
另一个问题是冒号和时间
输入文本:
The time is 11:48, reported by: Tom.
所需输出:
The time is 11:48, reported by : Tom.
文本'reported by'
之后冒号之前有一个空格。
2条答案
按热度按时间nxagd54h1#
您可以使用此正则表达式,该正则表达式执行向前负查找和向后负查找,以检查点/冒号是否被数字包围,并将其替换为' \1 '
演示,https://regex101.com/r/hr6slz/4
此正则表达式适用于冒号和点,因为您可以将其替换为' \1 '
0md85ypi2#
您需要_ positive lookbehindAssert._(或negative,对于
\d
)。有关详细信息,请查看https://docs.python.org/3/library/re.html。