簡體   English   中英

從字典中查找字符串中的單詞

[英]Find word from dictionary in string

我正在研究項目中的問題。 我有一個帶列的數據庫,其中存儲了“ 15分鍾休息時間”“ 30分鍾空閑時間”之類的類型,我想再創建一個帶類別的列。 我的類別存儲在字典中:

{ "short":["10","5","15","10min","5min","15min","shorter"],
"middle":["20","25","30","35","20min","25min","30min","35min"],
"long":["40","45","50","55","60","40min","45min","50min","55min","60min"]}

知道如何使用python將類別分配給類型嗎? 我的意思是僅僅找到詞典中與單詞相似的部分? 到目前為止我的代碼

...calling sql select
for i, index in rows():
    type = index[0]
    if (any of words from dictionary) is in type:
        category = (name of category, for example "short")
        update in sql
        ...

謝謝

您想確定休息說明中是否有任何類別標記。 假設s1s2是您的樣本描述,而d是您的字典:

s1 = "15 mins break"
s2 = "30 min free time"
s3 = "something5something"

然后,以下表達式將評估其類別( re.findall()的目的是標記文本;使用適合您項目的內容替換正則表達式。)

[cat for cat in d if any(marker in re.findall(r'[a-z0-9]+',s1) for marker in d[cat])]
#['short']

[cat for cat in d if any(marker in re.findall(r'[a-z0-9]+',s2) for marker in d[cat])]
#['middle']

[cat for cat in d if any(marker in re.findall(r'[a-z0-9]+',s3) for marker in d[cat])]
#[]

假定所有字符串都為小寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM