Python count String函数-从字符串或行中精确计算单词的出现次数
我想从字符串中计算单词的出现次数。但我只想计算确切的发生次数,而不是从子字符串开始计算 例如,如果我要计算的字符串是->“This is good”,如果我要计算的单词的出现次数是“is”,我只想得到的出现次数是1而不是2。但是我的代码是从这个词算起的。我怎样才能做到这一点。对不起,我的英语很差Python count String函数-从字符串或行中精确计算单词的出现次数,python,python-3.x,string,count,Python,Python 3.x,String,Count,我想从字符串中计算单词的出现次数。但我只想计算确切的发生次数,而不是从子字符串开始计算 例如,如果我要计算的字符串是->“This is good”,如果我要计算的单词的出现次数是“is”,我只想得到的出现次数是1而不是2。但是我的代码是从这个词算起的。我怎样才能做到这一点。对不起,我的英语很差 text=“这很好” text.count(“is”) >>> 2 text=“这很好” text.count(“is”) >>> 1 您首先必须通过将字符串拆分为空格来获取单个单词: words =
text=“这很好”
text.count(“is”)
>>> 2
text=“这很好”
text.count(“is”)
>>> 1
您首先必须通过将字符串拆分为空格来获取单个单词:
words = text.split()
现在,对列表中单词等于要检查的字符串的所有项目求和:
sum(char for char in words if char == string_to_check)
在函数中,可以获得以下内容:
def count(string, check):
return sum(char for char in string.split() if char == check)
如果你想使用这个方法,你可以插入空格(如果你总是在搜索这个词) 输出: 一, 更好的解决方案是:
text = "This is good"
num = text.split().count('is')
print (num)
输出:
一,
要使此计数器不区分大小写,例如在本例中:
text = "Is this ok, it is just example is"
num = text.lower().split().count('is')
print (num)
输出:
三,
方法lower()
基于大小写的字符已被小写
语法:
split()方法将字符串拆分为列表
您可以指定分隔符,默认分隔符为任何空格
注意:指定max时,列表将包含指定的
元素数加一
语法:
您可以使用正则表达式,它将帮助您查找用任何单词边界划分的子字符串:
import re
text = "This is good is\tis\t"
occurences = sum(1 for _ in re.finditer(r"\bis\b", text))
text.count(“is”)
您可以尝试以下操作:text.split(”).count(“is”)
“保持原样”
将返回0“它是解决方案吗?”
在这种情况下,它可能是“它是解决方案吗?”,secntence以大写字母“is”开头,与“is”不同。这都是OP没有定义的特殊情况@Olvinroghttit是常规情况,没有什么特殊。如果他计算“是”或“是”或两者都有,那就不同了
str.lower()
string.split(separator, max)
import re
text = "This is good is\tis\t"
occurences = sum(1 for _ in re.finditer(r"\bis\b", text))