【发布时间】:2011-03-03 03:03:52
【问题描述】:
给定一个名为 line 的字符串,其原始版本具有此值:
\rRAWSTRING
如何检测它是否有转义字符 \r?我试过的是:
if repr(line).startswith('\r'):
blah...
但它没有抓住它。我也试过find,比如:
if repr(line).find('\r') != -1:
blah
也不行。我错过了什么?
谢谢!
编辑:
感谢所有回复和对术语的更正,并对造成的混乱表示歉意。
好的,如果我这样做
print repr(line)
那么它打印的是:
'\rSET ENABLE ACK\n'
(包括单引号)。我已经尝试了所有建议,包括:
line.startswith(r'\r')
line.startswith('\\r')
每个都返回 False。也试过了:
line.find(r'\r')
line.find('\\r')
每个都返回 -1
【问题讨论】:
-
您缺少的是
repr(line)将包含'\\r', (ASCII 92, 114),而不是'\r'(ASCII 13)。 -
换句话说,您需要
line.find('\r')或repr(line).find('\\r')。你看出区别了吗?
标签: python parsing string escaping