m ='. Kansas City has a population of 475378. Local time in Kansas City is CST.'
d = re.sub('..*?.', '', m)
print(d)
我正在尝试删除两个句点之间的界限。它给了我相同的输出我该怎么纠正它?
答案 0 :(得分:1)
你需要用反斜杠来逃避点,它们意味着任何角色。你也最好使用负字符类而不是。*?正如你正在做的那样,'全部/任何非点':
[^.]*
以下是您要求的示例。
import re
m ='. Kansas City has a population of 475378. Local time in Kansas City is CST.'
d = re.sub('\.[^.]*\.', '', m)
print(d)
如果您想保留期限,可以直接执行此操作:
d = re.sub('\.[^.]*\.', '..', m)
http://regex101.com/是一个非常好的网站,可以使用你的正则表达式来完全调整你想要它的工作方式。祝你好运!