我正在使用 Python,试图找出是否可以判断一个单词是否在字符串中。
我找到了一些关于使用 识别单词是否在字符串中的信息.find,但是有没有办法做一个if陈述。我想要以下内容:
.find
if
if string.find(word): print("success")
要确定 Python 中字符串中是否存在某个单词,可以使用多种方法。该str.find()方法返回指定值首次出现的索引,或者-1如果未找到该值则返回。因此,str.find()在语句中直接使用if可能无法按预期工作,因为0是有效索引,并且False在布尔上下文中会求值为。
str.find()
-1
0
False
这里有一些实现此目的的方法,包括使用代码的更正版本str.find()和其他更常用的方法:
string = "Hello, this is a test string." word = "test" if string.find(word) != -1: print("success") else: print("word not found")
in
该in运算符是检查字符串中是否存在子字符串的最直接的方法:
string = "Hello, this is a test string." word = "test" if word in string: print("success") else: print("word not found")
str.index()
该str.index()方法与类似str.find(),但如果未找到子字符串,则会引发ValueError,如果您想使用异常处理子字符串的缺失,该方法会很有用:
ValueError
string = "Hello, this is a test string." word = "test" try: index = string.index(word) print("success") except ValueError: print("word not found")
str.count()
该str.count()方法返回子字符串出现的次数。如果大于 0,则表示子字符串存在:
string = "Hello, this is a test string." word = "test" if string.count(word) > 0: print("success") else: print("word not found")
if string.find(word) != -1
find()
if word in string
每种方法都有其用例,但in通常首选运算符,因为它简单且易读。