簡體   English   中英

在文本中查找單詞

[英]Find words in text

我有幾個不規則動詞的文本。 我想在文本中找到它們並進行翻譯,但我不能,因為其中一些包含兩個詞。 我用來找到它們的方法,只找到動詞中的第一個單詞。

text = “He gets. She gets away. She gets out. He gets past. He gets rid. He gives. She gives away. She gives up. He goes. He goes back. She goes on.”

vocabulary = {"gets":"получить","gets away":"уходить","gets out":"выбраться","gets past":"пройти мимо","gets rid":"избавиться","gives":"давать","gives away":"раздать","gives up":"сдаваться","goes":"идти","goes back":"возвращаться","goes on":"продолжать","She":"Она","He”:"Он"}

我想得到這樣的結果。

>>> Он получить. Она уходить. Она выбраться. Он пройти мимо. Он избавиться. Он давать. Она раздать. Она сдаваться. Он идти. Он возвращаться. Она продолжать.

我怎樣才能做到這一點?

您可以將re.sub與通過連接最長到最短的詞匯表形成的交替模式一起使用,並將匹配替換為相應的 dict 值:

import re
re.sub(r'\b(?:%s)\b' % '|'.join(sorted(vocabulary, key=len, reverse=True)), lambda m: vocabulary[m.group(0)], text)

這將返回:

Он получить. Она уходить. Она выбраться. Он пройти мимо. Он избавиться. Он давать. Она раздать. Она сдаваться. Он идти. Он возвращаться. Она продолжать.

暫無
暫無

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

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