小能豆

使用 Python 检查字符串中是否存在单词

javascript

我正在使用 Python,试图找出是否可以判断一个单词是否在字符串中。

我找到了一些关于使用 识别单词是否在字符串中的信息.find,但是有没有办法做一个if陈述。我想要以下内容:

if string.find(word):
    print("success")

阅读 34

收藏
2024-07-22

共1个答案

小能豆

要确定 Python 中字符串中是否存在某个单词,可以使用多种方法。该str.find()方法返回指定值首次出现的索引,或者-1如果未找到该值则返回。因此,str.find()在语句中直接使用if可能无法按预期工作,因为0是有效索引,并且False在布尔上下文中会求值为。

这里有一些实现此目的的方法,包括使用代码的更正版本str.find()和其他更常用的方法:

使用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,如果您想使用异常处理子字符串的缺失,该方法会很有用:

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")

概括

  • str.find():用于if string.find(word) != -1检查是否存在,因为如果找不到该单词则find()返回。-1
  • in运算符:用于if word in string进行简洁、易读的检查。
  • str.index():如果您想处理找不到单词的异常情况,请使用它。
  • str.count():如果您需要知道该单词出现的次数,请使用它,并检查计数是否大于 0。

每种方法都有其用例,但in通常首选运算符,因为它简单且易读。

2024-07-22