给定一个名为 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
最佳答案
如果:
print repr(line)
返回:
'\rSET ENABLE ACK\n'
然后:
line.find('\r')
line.startswith('\r')
'\r' in line
是你要找的。示例:
>>> line = '\rSET ENABLE ACK\n'
>>> print repr(line)
'\rSET ENABLE ACK\n'
>>> line.find('\r')
0
>>> line.startswith('\r')
True
>>> '\r' in line
True
repr() 返回一个显示字符串。它实际上包含您在打印行时看到的引号和反斜杠:
>>> print line
SET ENABLE ACK
>>> print repr(line)
'\rSET ENABLE ACK\n'
>>> print len(line)
16
>>> print len(repr(line))
20
关于python - 如何检测字符串中的转义序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3030789/