Python实现extract_words提取单词时如何去除输出中的多余反斜杠?
问题修复方案
错误原因
你编写的代码存在两个典型问题:
- 若直接使用字符串
split()方法拆分:只会按空格切割文本,不会自动去除单词末尾附着的标点(如示例中string.末尾的句号),无法得到符合预期的结果 - 若使用正则匹配实现但规则错误:没有在匹配规则中加入撇号
'的匹配逻辑,会把There're这类带撇号的单词拆成两个独立部分,和要求不符
修复代码
使用正则匹配实现,直接抓取所有由字母、撇号组成的连续字符即可满足要求:
import re def extract_words(text: str) -> list: # 匹配所有包含大小写字母、撇号的连续字符串 return re.findall(r"[a-zA-Z']+", text)
效果验证
执行测试代码:
test_input = "There're six words in this string." print(extract_words(test_input))
输出结果和要求完全一致:
["There're", 'six', 'words', 'in', 'this', 'string']
内容的提问来源于stack exchange,提问作者ZhengruiLu
相关产品推荐
相关产品推荐

