如何在python中替换CRLF?

2024-10-01 00:28:49 发布

您现在位置:Python中文网/ 问答频道 /正文

>>> print 'aaa\rbbb'.replace('\r','ccc')
aaacccbbb
>>> print 'aaa\rbbb'.replace('\\r','ccc')
bbb
>>> print 'aaa\rbbb'.replace(r'\r','ccc')
bbb
>>> 

我想知道最后两个站的原因。我搞不懂什么


Tags: 原因replaceprintbbbcccaaaaaacccbbbrbbb
2条回答

这是因为'\\r'实际上是字符'\'后跟字符'r'

r'\r'也一样。r前缀用于原始字符串

两者都不匹配字符\r(因为它是单个字符)

最后两个变体不会替换行返回字符,因此它会打印出原始的'aaa\rbbb'。它首先打印aaa,然后是行返回字符,将光标移回行的开头,然后在现有的aaa上打印bbb

'\\r'r'\r'不替换'\r'的原因是'\r'是行返回字符,但'\\r'r'\r'都是反斜杠,后跟字母“r”

相关问题 更多 >