我有一个由许多字符串组成的文件。看起来像
sdfsdf sdfsdfsdf sdfsdfsdf test gggg uff 测试测试fffffffff sdgsdgsdgsdg sdgsdgsdgsdg uuuttt 555555555 ddfdfdfff dddd4444 66677565 sdfsdf5 556e4ergferg ergdgdfgtest kdfgdfgfg test
如何计算所有单词“test”。我试过了,但我只有这个结果
f = open("file")
words = 0
for s in f:
i = s.find('test')
if i > -1:
words += 1
print(words)
f.close()
此脚本仅计算包含单词“test”的字符串。如何计算单词?
答案 0 :(得分:1)
如果你想找到所有的比赛:
with open("file") as f:
numtest = f.read().count("test")
如果您只想找到单词匹配:
with open("file") as f:
numtest = f.read().split().count("test")
答案 1 :(得分:1)
一衬垫:
s.split().count('test')
答案 2 :(得分:0)
这应该有效。
form
答案 3 :(得分:0)
您可以使用正则表达式:
import re
with open('myfile.txt', 'r') as f:
txt = f.read()
cnt = len(re.findall(r'\btest\b', txt))
如果您不关心区分大小写(也匹配Test
或TEST
)
cnt = len(re.findall(r'\btest\b', txt, flags=re.I))
答案 4 :(得分:0)
它会计算整个文件中test
的数量:
f = open('my_file.txt', 'r')
num_tests = len([word for word in f.read().split() if word == 'test'])
f.close()
请注意, NOT 匹配tester, tested, testing, etc....
之类的字词
如果您还想匹配它们,请改为使用:
f = open('my_file.txt', 'r')
num_tests = len([word for word in f.read().split() if 'test' in word])
f.close()