'你好,SO社區。避免複製粘貼和硬編碼的最佳方法
問題:我有很多正則表達式模式,如
r'to.*school', r'built.*in'
等。在任何情況下,我應該執行的代碼,從形勢變化到的情況。
例子:如果模式是「爲*上學。」,我想找到之前「到」動詞,這就是爲什麼我寫的是這樣的:。
for num, part in enumerate(sentence):
if part == 'to':
result = sentence[num-1]
如果模式的內置*在,我想找到的時候,這就是爲什麼我寫的東西,如:
for num, part in enumerate(sentence):
if part == 'in':
result = sentence[num+1]
所以有這個問題 - 如何避免複製粘貼代碼,如果有超過500種模式和每個模式都有它自己的方式獲得結果?
我的想法:我知道它應該是某種數據庫,它存儲模式和解決方案,但是如果它是字符串,我該如何執行解決方案?我完全迷失了。
你能舉一個'sentence'和你想要的輸出的例子嗎? –
我會介紹一個表,其中包含在第一列中的模式,並在第二個表中引用一個適當的方法。 – Humbalan
@Chris_Rands當然。 'origSentence ='我去上學';模式= r'to。* school'; partSentence = ['I','go','to','school'];結果='去';' –