geekdoc-python-zh/docs/pythoncentral/how-to-see-if-a-string-cont...

59 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

2024-10-20 12:24:46 +08:00
# 如何在 Python 中查看一个字符串是否包含另一个字符串
> 原文:<https://www.pythoncentral.io/how-to-see-if-a-string-contains-another-string-in-python/>
曾经想看看一个字符串是否包含 Python 中的一个字符串?以为会像 C 一样复杂?再想想!
Python 以一种非常易读和易于实现的方式实现了这个特性。有两种方法,有些人会更喜欢其中一种,所以我会让你决定你更喜欢哪一种。
## **第一种方式:使用 Python 的 in 关键字**
检查一个字符串是否包含另一个字符串的第一种方法是使用`in`语法。`in`接受两个“参数”,一个在左边,一个在右边,如果左边的参数包含在右边的参数中,则返回`True`。
这里有一个例子:
```py
>>> s = "It's not safe to go alone. Take this."
>>> 'safe' in s
True
>>> 'blah' in s
False
>>> if 'safe' in s:
... print('The message is safe.')
The message is safe.
```
你明白了。这就是全部了。关键字`in`在后台为你完成所有神奇的工作,所以不用担心`for`循环或任何类似的事情。
## **第二种方式:使用 Python 的 str.find**
这种方式是不太 Pythonic 化的方式,但是仍然被接受。它更长,也更令人困惑,但它仍然完成了任务。
这种方式要求我们在字符串上调用`find`方法,并检查它的返回代码。
下面是我们的例子,使用上面定义的字符串:
```py
>>> if s.find('safe') != -1:
... print('This message is safe.')
This message is safe.
```
就像我上面说的,这种方式不太清晰,但它仍然完成了工作。`find`方法返回字符串在字符串中的位置,如果没有找到则返回-1。所以我们简单地检查位置是否不是-1然后继续我们的快乐之路。
本文的长度表明了用 Python 检查字符串中的字符串是多么容易,我希望它能让您相信,就编写更多 Python 代码而言,第一种方法远远好于第二种方法。
暂时先这样。