如何在Python中检查子字符串是否包含在另一个字符串中?
子字符串是指字符串中连续的字符序列。换句话说,它是在较长文本中出现的一小段文本。
例如,在字符串“lorem ipsum”中,“lorem”是较长字符串中的子字符串。“em i”也是“lorem ipsum”中的子字符串。
子字符串操作在编程中很常见,可用于各种任务,例如搜索文本中的特定单词、提取文本部分或将文本的某些部分替换为其他单词。
检查Python中子字符串是否包含在字符串中是一项常见任务,可以使用多种方法完成。让我们考虑以下一些最流行的方法,以及您可以自己尝试的代码示例。
使用“in”运算符
检查子字符串是否包含在字符串中的最简单方法是使用in运算符。以下是操作方法
示例
在此代码中,我们定义了一个名为string的字符串变量,其中包含文本“lorem ipsum”。我们还定义了一个名为substring的子字符串变量,其中包含文本“ipsum”。
然后,我们使用if语句检查子字符串是否包含在字符串中。in运算符检查substring是否是string的子字符串,如果是则返回True,否则返回False。
如果在字符串中找到子字符串,我们打印消息“子字符串已找到!”。否则,我们打印消息“子字符串未找到”。
string = "lorem ipsum"
substring = "ipsum"
if substring in string:
print("Substring found!")
else:
print("Substring not found.")
输出
Substring found!
使用find()方法
检查子字符串是否包含在字符串中的另一种方法是使用find()方法。这是一个示例
示例
在此代码中,我们定义了如所示的string和substring变量。
然后,我们使用string变量的find()方法检查子字符串是否包含在字符串中。find()方法搜索字符串中的子字符串,并返回子字符串第一次出现的索引,如果未找到子字符串则返回-1。
我们使用if语句检查string.find(substring)的结果是否不等于-1。如果不等于-1,则在字符串中找到子字符串,因此我们打印消息“子字符串已找到!”。否则,我们打印消息“子字符串未找到”。
string = "lorem ipsum"
substring = "dolor"
if string.find(substring) != -1:
print("Substring found!")
else:
print("Substring not found.")
输出
Substring not found.
使用正则表达式
检查子字符串是否包含在字符串中的另一种方法是使用正则表达式。
示例
在此代码中,我们首先导入re模块,该模块为Python中的正则表达式提供支持。
然后,我们像以前一样定义string和substring变量。
我们使用re.search()函数在字符串中搜索子字符串。re.search()函数搜索字符串中与substring表示的正则表达式匹配的内容。
如果找到匹配项,re.search()函数将返回一个匹配对象,在布尔上下文中被认为是True。如果未找到匹配项,则该函数返回None,在布尔上下文中被认为是False。
我们使用if语句检查re.search(substring, string)的结果是否为True。如果是,则在字符串中找到子字符串,因此我们打印消息“子字符串已找到!”。否则,我们打印消息“子字符串未找到”。
import re
string = "lorem ipsum"
substring = "ipsum"
if re.search(substring, string):
print("Substring found!")
else:
print("Substring not found.")
输出
Substring found!
使用startswith()方法
检查子字符串是否包含在字符串中的另一种不同方法是使用startswith()方法。
示例
在此代码中,我们像以前一样定义string和substring变量。
我们使用string变量的startswith()方法检查子字符串是否位于字符串的开头。如果字符串以子字符串开头,则startswith()方法返回True,否则返回False。
我们使用if语句检查string.startswith(substring)的结果是否为True。如果是,则在字符串中找到子字符串,因此我们打印消息“子字符串已找到!”。否则,我们打印消息“子字符串未找到”。
string = "lorem ipsum"
substring = "dolor"
if string.startswith(substring):
print("Substring found!")
else:
print("Substring not found.")
输出
Substring not found.
使用列表推导式
检查子字符串是否包含在字符串中的另一种方法是使用列表推导式。
示例
在此代码中,我们再次像以前一样定义string和substring变量。
我们使用列表推导式将字符串拆分为单个单词,并检查子字符串是否包含在任何这些单词中。string变量的split()方法使用空格作为分隔符将字符串拆分为单词列表。然后,列表推导式检查子字符串是否包含在列表中的每个单词中。
我们使用any()函数检查列表推导式返回的列表中的任何值是否为True。如果列表中的至少一个值为True,则any()函数返回True,否则返回False。
我们使用if语句检查any([substring in word for word in string.split()])的结果是否为True。如果是,则在字符串中找到子字符串,因此我们打印消息“子字符串已找到!”。否则,我们打印消息“子字符串未找到”。
string = "lorem ipsum"
substring = "lorem"
if any([substring in word for word in string.split()]):
print("Substring found!")
else:
print("Substring not found.")
输出
Substring found!
因此,这些就是在Python中检查子字符串是否包含在字符串中的一些不同方法!根据您的具体用例,一种方法可能比另一种方法更合适。但总的来说,“in”运算符和find()方法是此任务中最常用的方法。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP