我有一個字串的串列
BAD_STRINGS = ['董事權益變更通知', '董事權益變更通知', '股息再投資計劃分配價']
我想回圈查看壞字串,并檢查是否在我的USER_INPUT_STRING中的任何地方發現了它們,壞字串應該被匹配只有當它們完整地出現并按順序排列時。(即不要只匹配單詞......它們必須按順序出現)壞字串可以出現在用戶輸入字串的任何地方。
USER_INPUT_STRING = "interest love horses change of director house price"
#應該回傳false
USER_INPUT_STRING = "I walked in the part and change of directors interest notice house price"
#應該回傳true
。我曾嘗試使用.find和[USER_INPUT_STRING in BAD_STRINGS do xyz]方法,但一直得到奇怪的結果,似乎這些方法只是檢查單詞是否以任何順序出現,而不是檢查是否按順序找到整個字串。
感謝您的幫助,我已經被困在這個問題上一整天了。
uj5u.com熱心網友回復:
你需要在BAD_STRINGS上回圈,以測驗每一個。使用any()函式,如果它們中的任何一個匹配,則回傳true。
any(bad 在USER_INPUT_STRING for bad inBAD_STRINGS)
uj5u.com熱心網友回復:
import re
BAD_STRINGS = ['董事權益變動通知', '董事權益變動通知', '股息再投資計劃分配價格']
USER_INPUT_STRING = "I walked in the part and change of directors interest notice house price")
for words in BAD_STRINGS:
if re.search(r''/span> words r''/span>, USER_INPUT_STRING):
print('{0} found'.format(words))
一種使用正則運算式的替代方法。萬一出現了,你可以根據需要進行操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/306633.html
標籤:
上一篇:在一個資料框架中計算列值
