我希望在Python中找到單詞的出現位置,並在該單詞後面打印單詞。詞是空間分開的。如何在Python中找到單詞旁邊的單詞
例如:
如果在一個文件中的詞「樣品」「thisword」的發生。我想要得到這個字。隨着本字不斷變化,我需要一個正則表達式。
我希望在Python中找到單詞的出現位置,並在該單詞後面打印單詞。詞是空間分開的。如何在Python中找到單詞旁邊的單詞
例如:
如果在一個文件中的詞「樣品」「thisword」的發生。我想要得到這個字。隨着本字不斷變化,我需要一個正則表達式。
python字符串有一個內置的方法拆分,將字符串拆分成由空格字符(doc)分隔的單詞列表,它具有控制拆分單詞的方式的參數,然後可以搜索列表中的字你想,並返回一個索引
your_string = "This is a string"
list_of_words = your_string.split()
next_word = list_of_words[list_of_words.index(your_search_word) + 1]
一個非常簡單的方法:
s = "this is a sentense"
target = "is"
words = s.split()
for i,w in enumerate(words):
if w == target:
# next word
print words[i+1]
# previous word
if i>0:
print words[i-1]
這不起作用,因爲單詞「是」總是不斷變化。所以我認爲它會更好如果我可以得到一個正則表達式來做到這一點 –
你想提供一些關於目標單詞如何改變的細節,以便考慮程序如何被重寫? – Vasilis
聽起來像是你想要的功能。
>>> s = "This is a sentence"
>>> sl = s.split()
>>>
>>> def nextword(target, source):
... for i, w in enumerate(source):
... if w == target:
... return source[i+1]
...
>>> nextword('is', sl)
'a'
>>> nextword('a', sl)
'sentence'
>>>
當然,你會希望做一些錯誤檢查(例如,這樣你就不會掉下來結束),所以你得到了目標的所有實例,也許while循環。但是這應該讓你開始。
「旁邊」你是指之前,之後或兩者?注意添加一個你將要搜索的句子的例子和你想要提取的單詞? –
另外,這個詞可以多次出現嗎?然後怎樣呢? –
旁邊的我的意思是在同一行中出現該單詞後還有另一個單詞,並且該單詞有多個出現。我需要一個正則表達式來獲取指定單詞後出現的單詞。 –