使用Python重新找到“^ M”

时间:2017-12-09 07:57:04

标签: python regex

我有一个出现字符“^ M”的文件。我想删除所有这些事件。

为此,我尝试使用以下代码 -

log

即使多次尝试,我也无法将其删除。

任何人都可以告诉我,我在做什么并提出建议

1 个答案:

答案 0 :(得分:5)

^是正则表达式中的元字符,它应该被转义,即

re.sub('\\^M', '', line)  # 2 backslashes because the backslash needs to be escaped

re.sub(r'\^M')            # no escape needed because of a raw string.

但是,这是一个固定的字符串,所以你应该使用str.replace,即

line.replace('^M', '')

但是,^M并不总是意味着 ^M ,{{1} }也可以用来表示ASCII回车(U + 0013,或Control-M); Python字符串中的^M

\r

...但是已经有一个实用程序会从文件中删除这些Windows行结尾:line.replace('\r', '')