Python 正则表达式不会用点替换连字符

Python 正则表达式不会用点替换连字符,python,regex,Python,Regex,以下案文: comment = """ I took the pill - I realized only side-effect after I went off it how it affected my eating habits - I put on weight - around 10 lbs - in the 2.5 months on it - no control and syndrome - this was counterproductive !""" 我编写了正则表达式

以下案文:

comment = """ I took the pill -  I realized only side-effect after I went off it how it affected my eating habits - I put on weight - around 10 lbs - in the 2.5 months on it - no control and syndrome - this was counterproductive !"""
我编写了正则表达式以
将连字符(-)替换为点(.)

但它不起作用

我不希望两个单词之间的连字符(如副作用)替换为点。 这就是为什么我不能使用
comment.replace('-','.')


有什么建议吗?

您也可以使用
str.replace
方法

comment.replace('-', '...')

您还可以使用
str.replace
方法

comment.replace('-', '...')

如果正则表达式中有输入错误,请使用。。。。也没有必要在替换中逃出点string@WiktorStribiżew,非常感谢!然而,我不认为在删除破折号之后,您实际上需要这么多空格。a呢?用点替换的“-”是否总是被空间包围?如果是这样的话。replace(“-”,“.”)应该在“-”前面加空格的地方工作。如果正则表达式中有输入错误,请使用。。。。也没有必要在替换中逃出点string@WiktorStribiżew,非常感谢!然而,我不认为在删除破折号之后,您实际上需要这么多空格。a呢?用点替换的“-”是否总是被空间包围?如果是这样的话,.replace(“-”,“.”)应该在“-”前面加空格的地方起作用。UV用于不使用火箭筒打苍蝇(这是一个法语表达,我希望你能理解)和跳出框框思考。@Patrick Haung,但你的解决方案将在某些词中用点替换连字符,例如:“副作用”。我不希望这种情况发生。@Mary如果你只是在寻找被空格包围的连字符,那么就把上面UV中的
'-'
替换为
'-'
,因为你没有用火箭筒打苍蝇(这是一个法语表达,我希望你能理解)和跳出框框思考。@Patrick Haung,但您的解决方案将在某些词中用点替换连字符,例如:“副作用”。我不希望发生这种情况。@Mary如果您只查找由空格包围的连字符,请将上面的
'-'
替换为
'-'