【发布时间】:2018-04-26 03:29:36
【问题描述】:
我正在尝试将a.b 类型的所有字符串更改为a. b。如果任何字符是大写的,它也应该起作用。请注意,a. 不应更改为 a.\(space)。
我尝试过使用正则表达式来做到这一点:
a = "a.b"
a = re.sub(r'[a-b]\.[a-b]', ' .', a)
输出应该是a. b,但它是.,因为它也替换了所有字符,而不是保留字符并在点后放置一个空格。
有人知道如何在 Python 中做到这一点吗?
编辑:当两个句子之间有句点时,我试图添加一个空格。但是,我不能使用str.replace,因为在这种情况下它也会添加一个空格,比如1.5 变成1. 5,这不是我想要的。我试图做正则表达式,但无法让它工作。
此外,这必须适用于所有可能的句子,而不仅仅是a.b
【问题讨论】:
-
a.replace('.', '. ')?不太确定怎么可能是a. \s。 -
替换不起作用的原因是它会在句尾添加一个空格,而后面没有另一个空格。
-
@Isaac 这似乎不是那个的副本。
-
@AdamSmith 对我做了什么
-
整个字母表。