我想根據當前存儲在數組中的單詞分割一個句子。數組存儲我想作爲分割點的單詞。我可以使用正則表達式作爲分割點嗎?Python - 分割點是一個單詞數組
例子:
array=['and','also','but']
文本文件:
I am new to Python and I need help. I am also asking a question.
需要的輸出:
I need help
asking a question
我想根據當前存儲在數組中的單詞分割一個句子。數組存儲我想作爲分割點的單詞。我可以使用正則表達式作爲分割點嗎?Python - 分割點是一個單詞數組
例子:
array=['and','also','but']
文本文件:
I am new to Python and I need help. I am also asking a question.
需要的輸出:
I need help
asking a question
可以使用re.split()
功能:
import re
array = ['and','also','but']
sentence = "I am new to Python and I need help. I am also asking a question."
result = re.split("|".join(array), sentence)
我會加裝飾:
result = [x.strip() for x in result]
print(result)
您的腳本導致'['我是Python新手','我需要幫助。我是','問一個問題。']'而@blahhh就像'['我需要幫助' '問一個問題']'。當然,@blahhh並沒有真正解釋導致他們輸出的邏輯。 – boardrider
是的,我認爲問題中的輸出已經錯誤了。 – hurturk
這裏是@hurturk解決方案的適應性 - 這將產生@blahhh請求的輸出。
自從上週我的水晶球爆發以來,這個算法是否是@blahhh的意圖,是任何人的猜測。
from __future__ import print_function
import re
array = ['and', 'also', 'but']
separators = ['\.', '\;', '\?', '\!']
sentence = "I am new to Python and I need help. I am also asking a question."
sentences = re.split("|".join(separators), sentence)
for sentence in sentences:
result = re.split("|".join(array), sentence)
result = [x.strip() for x in result]
print(result[-1])
其中輸出是:
I need help
asking a question
你嘗試過這麼遠嗎?這個問題有幾個步驟。 –