2024-06-09 06:32:06 发布
网友
我需要分析一个句子,比如: “爱丽丝是个男孩”变成“爱丽丝”,“男孩” 把“大象是哺乳动物”改为“大象”、“哺乳动物”。这意味着我需要将字符串拆分为“is”,同时删除“a/an”。 有什么优雅的方法吗?你知道吗
这个答案并不能让我们理解regex,而是一种做事的方式:
s = 'Alice is a boy' s = s.split() # each word becomes an entry in a list s = [word for word in s if word != 'a' and word !='an' and word !='is']
这样做的主要缺点是,您需要列出列表中要排除的每个单词。你知道吗
如果坚持使用正则表达式,可以使用re.search这样做:
re.search
print(re.search('(\w+) is [a|an]? (\w+)',"Alice is a boy.").groups()) # output: ('Alice', 'boy') print(re.search('(\w+) is [a|an]? (\w+)',"An elephant is a mammal.").groups()) # output: ('elephant', 'mammal') # apply list() if you want it as a list
这个答案并不能让我们理解regex,而是一种做事的方式:
这样做的主要缺点是,您需要列出列表中要排除的每个单词。你知道吗
如果坚持使用正则表达式,可以使用
re.search
这样做:相关问题 更多 >
编程相关推荐