查找string是否是python中某些字符串的子字符串:一种特殊情况

时间:2015-03-18 06:43:23

标签: python

我正在研究字符串是否是python中某个字符串的子字符串。它适用于所有情况,但这是一个失败的特殊情况:

python shell中我做:

x=repr('\r\r\r') 
y=repr('\r\r') 

在这种情况下,y in x返回false。有人可以告诉我该怎么做才能返回true吗?

1 个答案:

答案 0 :(得分:2)

这里没有特例。这不起作用的原因是y包含一个前导和尾随的单引号:

>>> x=repr('\r\r\r')
>>> y=repr('\r\r')
>>> x
"'\\r\\r\\r'"
>>> y
"'\\r\\r'"
        ↑ This character is not in `x'

目前还不完全清楚您希望如何使用此功能,但在测试条件之前可以删除引号:

>>> y.strip("'")
'\\r\\r'
>>> y.strip("'") in x
True

这可能是一个黑客攻击而不是一个解决方案,但如果不了解您尝试解决的实际问题,很难提出一个好的解决方案。