在python3中如何精确计算字符串中的一个单词?
所以我想精确计算python中“100”的出现次数。 我的示例代码:在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
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
对象中计数?