2024-10-01 00:28:49 发布
网友
>>> print 'aaa\rbbb'.replace('\r','ccc') aaacccbbb >>> print 'aaa\rbbb'.replace('\\r','ccc') bbb >>> print 'aaa\rbbb'.replace(r'\r','ccc') bbb >>>
我想知道最后两个站的原因。我搞不懂什么
这是因为'\\r'实际上是字符'\'后跟字符'r'
'\\r'
'\'
'r'
对r'\r'也一样。r前缀用于原始字符串
r'\r'
r
两者都不匹配字符\r(因为它是单个字符)
\r
最后两个变体不会替换行返回字符,因此它会打印出原始的'aaa\rbbb'。它首先打印aaa,然后是行返回字符,将光标移回行的开头,然后在现有的aaa上打印bbb
'aaa\rbbb'
aaa
bbb
'\\r'和r'\r'不替换'\r'的原因是'\r'是行返回字符,但'\\r'和r'\r'都是反斜杠,后跟字母“r”
'\r'
这是因为
'\\r'
实际上是字符'\'
后跟字符'r'
对
r'\r'
也一样。r
前缀用于原始字符串两者都不匹配字符
\r
(因为它是单个字符)最后两个变体不会替换行返回字符,因此它会打印出原始的
'aaa\rbbb'
。它首先打印aaa
,然后是行返回字符,将光标移回行的开头,然后在现有的aaa
上打印bbb
'\\r'
和r'\r'
不替换'\r'
的原因是'\r'
是行返回字符,但'\\r'
和r'\r'
都是反斜杠,后跟字母“r”相关问题 更多 >
编程相关推荐