我有一个出现字符“^ M”的文件。我想删除所有这些事件。
为此,我尝试使用以下代码 -
log
即使多次尝试,我也无法将其删除。
任何人都可以告诉我,我在做什么并提出建议
答案 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', '')
。