如何在文件中计算区分大小写的独立单词

时间:2017-10-15 14:36:43

标签: python python-3.x

如果单词与用户输入完全相同,如何使用布尔值计算文件中的单词?

所以,如果class ResultsView(generic.ListView): template_name='CompanyBrowser/results.html' context_object_name="results_of_company_type_query" def get_queryset(self): print(len(self.kwargs)) if len(self.kwargs)==1: if self.kwargs['company_type']!="*": return Company.objects.filter(companytype=self.kwargs['company_type']) else return Company.objects.all() elif len(self.kwargs)==2: if self.kwargs["company_type"]=="M": if self.kwargs["company_category"]=="Indoor-Decorative": return Company.objects.filter(companytype=self.kwargs['company_type'], companydetails__category=self.kwargs['company_category']) ,它只会在案例匹配时计算。这个词也不能成为另一个词的一部分。

例如:如果case sensitive == True代码只会​​计算单词input = AppleAppleApple。但它不会计算单词+Apple-appleapplepie

我制作了一个模板来展示我的意思:

apples

1 个答案:

答案 0 :(得分:1)

您可以使用documentation并将用户输入格式化为模式:

import re

word = ...
with open("months.txt") as f:
    count = sum(len(re.findall(r'\b{}\b'.format(word), line)) for line in f)

\b 标记正则表达式中的单词边界:

>>> word = 'Apple'
>>> len(re.findall(r'\b{}\b'.format(word),  "Apple. or Apple? or +Apple- Applepie"))
3