如何计算文本文件中字符串中子句的出现次数 - python

时间:2017-04-08 18:29:21

标签: python string substring contains text-segmentation

我想计算.txt文件中的行数是一个字符串包含两个子字符串

我尝试了以下内容:

with open(filename, 'r') as file:
    for line in file:
        wordsList = line.split()
        if any("leads" and "show" in s for s in wordsList):
            repetitions +=1

print "Repetitions: %i"  % (repetitions)

但它似乎没有按预期工作。 使用以下演示输入文件时,我应该是2:

3次重复
www.google.es/leads/hello/show
www.google.es/world
www.google.com/leads/nyc/oops
www.google.es/leads/la/show
www.google.es/leads/nope/pop
leads.
show

我也试过为“所有”加上“任何”,但我的结果甚至更奇怪。

1 个答案:

答案 0 :(得分:0)

"leads" and "show" in s被解释为: "leads" and ("show" in s)因为优先权。

Python试图将“lead”解释为布尔值。因为它是一个非空字符串,所以它的计算结果为True。

因此,您的表达式等同于"show" in s

你的意思是: "leads" in s and "show" in s