这是我的刺这使用正则表达式.
import re
pattern = re.compile("(of|the|in|for|at)\W", re.I)
phrases = ['of New York', 'of the New York']
map(lambda phrase: pattern.sub("", phrase), phrases) # ['New York', 'New York']
无数lambda
[pattern.sub("", phrase) for phrase in phrases]
更新
修复gnibbler指出的错误(谢谢!):
pattern = re.compile("\\b(of|the|in|for|at)\\W", re.I)
phrases = ['of New York', 'of the New York', 'Spain has rain']
[pattern.sub("", phrase) for phrase in phrases] # ['New York', 'New York', 'Spain has rain']
@prabhu:上述改变避免了从“西班牙”尾随的“入”.验证运行正则表达式的两个版本与短语“西班牙有雨”.