在Python中,我们可以使用内置的字符串函数或正则表达式来判断一个字符串是否包含另一个字符串。
一、使用in关键字
def is_contain(str1, str2):
if str2 in str1:
return True
else:
return False
print(is_contain('hello world', 'hello')) #True
print(is_contain('hello world', 'hi')) #False
in关键字用于判断一个字符串是否包含另一个字符串。这个方法简单易懂,适用于一些简单的字符串匹配。
二、使用find函数
def is_contain(str1, str2):
if str1.find(str2) != -1:
return True
else:
return False
print(is_contain('hello world', 'hello')) #True
print(is_contain('hello world', 'hi')) #False
find函数用于查找一个字符串在另一个字符串中的位置,如果找到,返回这个子字符串的位置,否则返回-1。由于in关键字只能判断是否包含,而无法知道子字符串在字符串中的位置,因此find函数包含了in关键字的功能,并且可以知道子字符串在字符串中的位置。
三、使用正则表达式
import re
def is_contain(str1, str2):
pattern = re.compile(str2)
match = pattern.search(str1)
if match:
return True
else:
return False
print(is_contain('hello world', 'hello')) #True
print(is_contain('hello world', 'hi')) #False
正则表达式是一种强大的匹配模式,可以用于复杂的字符串匹配。在Python中,我们可以使用re模块来使用正则表达式。上面的例子使用re.compile函数来编译正则表达式并创建一个模式对象,然后使用模式对象的search方法来搜索字符串中的子字符串。如果找到匹配,返回MatchObject对象;如果没有找到匹配,返回None。
四、结语
以上就是三种方法判断Python中字符串是否包含另一个字符串。简单的字符串匹配可以使用in关键字,如果需要知道子字符串在字符串中的位置,可以使用find函数。如果需要进行复杂的字符串匹配,比如模糊匹配、正则表达式匹配等,可以使用正则表达式。