我想檢查一個字符串是否包含另一個字符串作為完整單詞。例如:在以下示例中,如果找到完整單詞 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
提交
取消