在python3中如何精确计算字符串中的一个单词?

在python3中如何精确计算字符串中的一个单词?,python,count,Python,Count,所以我想精确计算python中“100”的出现次数。 我的示例代码: a = " I love 1000 and 100 dollars." b = a.count("100") print(b) 结果是2,但我只想它是1 2 [Finished in 0.1s] 有什么基本的建议吗? 我只是一个学习python的初学者 " I love 1000 and 100 dollars.".split().count('100') 仅供参考,下面是一个方便有效的计算每个单词的方法 from co

所以我想精确计算python中“100”的出现次数。 我的示例代码:

a = " I love 1000 and 100 dollars."
b = a.count("100")
print(b)
结果是2,但我只想它是1

2
[Finished in 0.1s]
有什么基本的建议吗? 我只是一个学习python的初学者

" I love 1000 and 100 dollars.".split().count('100')
仅供参考,下面是一个方便有效的计算每个单词的方法

from collections import Counter

Counter("I love 1000 and 100 dollars.".split())

# result: Counter({'I': 1, 'love': 1, '1000': 1, 'and': 1, '100': 1, 'dollars.': 1})

如果要计算字符串中的子字符串,正则表达式模块,
re
,将非常有用:

import re
len(re.findall(r'\b100\b', a)) # prints 1
len
返回查找的出现次数的计数
re.findall()
1

100
替换为要计数的特定子字符串:

b = len(re.findall(r'\bI love\b', a))
>>> b
1

从这个答案中借用的技巧

@ngBùi想返回1。如果没有
split()。在这种情况下,结果是不同的字符串本身已经是迭代器(如列表),而只是计数也会以同样的方式工作。计数('100')而不是计数('1000')显然会返回2@davedwards对不起,我打错了,应该是
count('100')
。我认为@gdlmx显示了我的满意答案。但是,有没有办法直接在
str
对象中计数?