时间:2021-07-01 10:21:17 帮助过:6人阅读
程序员在字符串上使用的最常见的操作之一是判断字符串是否包含指定子字符串。而Python以非常易于阅读和易于实现的方式就可以实现此功能,有3种方法可以做到这一点。
第一:使用in运算符
最简单的方法是通过python的 in 运算符。
in取两个“参数”,一个在左边,一个在右边,如果左参数包含在右参数中,则返回true。
我们来看看这个例子:
>>> str = "Messi is the best soccer player" >>> result = "soccer" in str >>> print result True >>> result = "football" in str >>> print result False
如你所见,当字符串中存在子字符串时,in运算符返回True。
否则,它返回false。
这种方法非常简单,干净,可读和惯用。
第二:使用string模块的find()/rfind()方法
你也可以使用的另一种方法是字符串的find方法。
与被计算为布尔值的in运算符不同,find方法返回一个整数。
如果子字符串存在,则此整数本质上是子字符串开头的索引,否则返回-1。
让我们看看find方法的实际应用。
>>> import string >>> str = "Messi is the best soccer player" >>> str.find("soccer") 18 >>> str.rfind("Ronaldo") -1 >>> str.find("Messi") 0
这个方法的一个很厉害的地方:可以指定一个开始索引和一个结束索引来限制你的搜索范围。
例如:
>>> import string >>> str = "Messi is the best soccer player" >>> str.find("soccer", 5, 25) 18 >>> str.find("Messi", 5, 25) -1
注意:判断“Messi”时,如果返回-1,因为你将搜索限制在索引5和25之间的字符串了。
第三:使用string模块的index()/rindex()方法
index()/rindex()方法跟find()/rfind()方法相似,只不过在找不到子字符串的时候会报一个ValueError的异常。
import string def find_string(s,t): try: string.index(s,t) return True except(ValueError): return False s='nihao,shijie' t='nihao' result = find_string(s,t) print result #True
总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。
以上就是Python如何判断一个字符串是否包含指定子字符串的详细内容,更多请关注Gxl网其它相关文章!