文章目录
一、判断字符串中是否含有字串
1. in
,not in
判断字符串中是否含有某些关键词,方法比较多
例如分词后对词向量和关键词进行==
匹配,但这种方法以来分词的准确性,不太推荐;
其次使用成员运算符in
,not in
可以较好的判断字符串中是否包含某关键词,即特定字串
a = '这个暑假我读了红楼梦和三国演义'
b= ['三国演义','水浒传','西游记','红楼梦']
n = 0
for i in b:
if i in a:
n += 1
print(f'四大名著暑假读了{
n}本')
这种遍历算法虽然可以成功得到想要的结果,但是当数据量很大的时候,程序执行效率将会很低。正则匹配作为专业的查找工具,在判断字符串中含有特定字串的事情上可以大大提高工作效率。
2.正则匹配re.findall
import re
def is_in(fullstr,substr):
if re.findall(substr,fullstr):
return 1
else:
return 0
a = '这个暑假我读了红楼梦和三国演义'
b= ['三国演义','水浒传','西游记','红楼梦']
n = 0
for i in b:
n = is_in(a,i)
n += 1
print(f'四大名著暑假读了{
n}本')
findall
:返回string中所有与pattern匹配的全部字符串,返回形式为数组
re.findall(pattern, string, flags=0)
示例如下:
line = []
n = 0
for i in b:
num = is_in(a,i)
n += num
res = re.findall(i,a)
line = line + res
print(f'四大名著暑假读了