检查字符串在索引处是否包含子字符串

2024-06-28 06:22:33 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python3.5中,给定以下字符串:

"rsFooBargrdshtrshFooBargreshyershytreBarFootrhj"

索引17——那么,第二次出现{}开始的{}——我如何检查{}是否存在?在本例中,它应该返回True,而如果我给它一个索引13,它应该返回false。在


Tags: 字符串falsetrue本例rsfoobargrdshtrshfoobargreshyershytrebarfootrhj
3条回答

您需要根据子字符串的长度对原始字符串进行切片,并比较两个值。例如:

>>> my_str = "rsFooBargrdshtrshFooBargreshyershytreBarFootrhj"

>>> word_to_check, index_at = "FooBar", 17
>>> word_to_check == my_str[index_at:len(word_to_check)+index_at]
True

>>> word_to_check, index_at = "FooBar", 13
>>> word_to_check == my_str[index_at:len(word_to_check)+index_at]
False
print("rsFooBargrdshtrshFooBargreshyershytreBarFootrhj"[17:].startswith('Foo')) # True

或者有共同点

^{pr2}$

实际上有一种非常简单的方法可以在不使用任何额外内存的情况下完成此操作:

>>> s = "rsFooBargrdshtrshFooBargreshyershytreBarFootrhj"
>>> s.startswith("FooBar", 17)
True
>>> 

startswith的可选第二个参数告诉它从偏移量17开始检查(而不是默认的0)。在本例中,值2也将返回True,而所有其他值将返回False。在

相关问题 更多 >