Python作为一门高级编程语言,很容易处理字符串,其中判断字符串包含也是常用的操作。本篇文章主要介绍Python3中判断字符串包含的方法。
一、in和not in关键字
Python中最简单的判断一个字符串是否包含另一个字符串的方法就是使用in和not in关键字。in关键字用于判断该字符串是否在另一个字符串中,如果存在,则返回True,否则返回False。not in则是刚好相反的结果。
def in_contains(string,sub_string):
if sub_string in string:
return True
else:
return False
def notin_contains(string,sub_string):
if sub_string not in string:
return True
else:
return False
string = 'Python3学习笔记'
sub_string = 'Python'
print(in_contains(string, sub_string)) # True
print(notin_contains(string, sub_string)) # False
使用in关键字的优点是简单易懂,目前是Python3中最常用的判断字符串包含的方法。但是需要注意的是in关键字匹配时是精确匹配,需要完全一致才能返回True。
二、字符串find方法
字符串find方法是Python中另一种用于判断字符串是否包含的方法。find方法查找sub_string在string中第一次出现的位置,如果找到则返回第一次出现的位置,未找到则返回-1。
def find_contains(string,sub_string):
if string.find(sub_string) != -1:
return True
else:
return False
string = 'Python3学习笔记'
sub_string1 = 'Python'
sub_string2 = 'Java'
print(find_contains(string, sub_string1)) # True
print(find_contains(string, sub_string2)) # False
使用字符串find方法的优点是可以查找字符串中第一次出现的位置,并可以针对返回-1的情况进行判断,适用范围更广。但是同样需要注意,find方法匹配时是精确匹配,需要完全一致才能返回正确的位置。
三、正则表达式
正则表达式是一种高效而强大的字符串处理工具,可以处理复杂字符串的匹配和操作。Python内置了re模块,其中findall方法可以用于查找满足正则表达式匹配的所有子字符串,并返回一个列表。
import re
def regex_contains(string,sub_string):
pattern = re.compile(sub_string)
result = pattern.findall(string)
if len(result) != 0:
return True
else:
return False
string = "Python3学习笔记,Java学习笔记"
sub_string1 = "Python"
sub_string2 = "Java"
sub_string3 = "C++"
print(regex_contains(string,sub_string1)) # True
print(regex_contains(string,sub_string2)) # True
print(regex_contains(string,sub_string3)) # False
使用正则表达式的优点是可以针对字符串的模糊匹配进行处理,相对于in和find方法更为灵活。但是相对的,正则表达式的处理也会更为复杂,需要在特定情况下进行使用。
四、结语
本篇文章主要介绍Python3中判断字符串包含的方法,其中包括in和not in关键字、字符串find方法和正则表达式的使用方法。以上三种方法都有各自的优缺点,需要根据实际情况选择合适的方法进行处理。希望本篇文章能对Python初学者有所帮助。
原创文章,作者:SSHMP,如若转载,请注明出处:https://www.506064.com/n/374212.html