我想计算文本中的唯一单词数,但我想确保后跟特殊字符的单词不会被区别对待,并且评估不区分大小写。
举这个例子
text = "There is one handsome boy. The boy has now grown up. He is no longer a boy now."
print len(set(w.lower() for w in text.split()))
结果是 16,但我希望它返回 14。问题是那个“男孩”。由于标点符号的原因,“boy”和“boy”的评估方式不同。
最佳答案
import re
print len(re.findall('\w+', text))
使用 regular expression让这变得非常简单。您需要记住的只是确保所有字符都在 lowercase 中。 ,最后使用 set 组合结果以确保没有重复的项目。
print len(set(re.findall('\w+', text.lower())))
关于python - 计算唯一单词的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16048819/