我想检查一个字符串是否包含另一个字符串作为完整单词。例如:在以下示例中,如果找到完整单词 LOUIS XI,则代码应仅返回某些内容,不应返回,因为文本包含 LOUIS XIV我的代码:str1="Louis XI"str2="Louis X, Louis XIII and Louis XIV were great kings"if str2.find(str1) != -1: print('True')我得到 True 而不是 False,因为路易十一不是路易十三。我怎样才能改进我的代码?
1 回答
jeck猫
TA贡献1909条经验 获得超7个赞
您可以使用带有单词边界 ( \b) 的正则表达式:
import re
str1 = "Louis XI"
pattern = re.compile(fr"\b{str1}\b")
str2 = "Louis X, Louis XIII and Louis XIV were great kings"
str3 = "Louis X, Louis XI, and Louis FooBar"
print(bool(re.search(pattern, str2)))
print(bool(re.search(pattern, str3)))
输出:
False
True
添加回答
举报
0/150
提交
取消