【发布时间】:2020-11-26 12:33:34
【问题描述】:
>>> print 'aaa\rbbb'.replace('\r','ccc')
aaacccbbb
>>> print 'aaa\rbbb'.replace('\\r','ccc')
bbb
>>> print 'aaa\rbbb'.replace(r'\r','ccc')
bbb
>>>
我想知道最后两个声明的原因。我很困惑什么
【问题讨论】:
-
如果您只是学习基础知识,您可能应该专注于当前推荐和支持的语言版本,即 Python 3。Python 2 已于 2020 年初终止,但原定于 2018 年去世。
-
@tripleee 由于不兼容,我认为它们是两种语言。我刚刚在解决问题时遇到了这个问题。我在 python3 中测试了相同的结果。我不想与语言版本斗争。lol
-
最后两个版本不替换
\r因此它将光标移动到行首并且bbb替换aaa。没有replace()的print 'aaa\rbbb'会得到相同的结果。'\\r'和r'\r'不是特殊字符\r而是带有两个字符的普通字符串\和r
标签: python