6月 09

python 统计一段字符串中某字符串出现次数

统计一段字符串中某字符串出现次数。如查询“It takes only a minute to get a crush on someone,an hour to like someone,and a day to love someone- but it takes a lifetime to forget someone”中出现“takes”出现的次数。

str = ‘It takes only a minute to get a crush on someone,an hour to like someone,and a day to love someone- but it takes a lifetime to forget someone’
get_count = count_find_str(str, 'takes')
print get_count

函数如下

def count_find_str(str,find_str):
    _str = str
    _find_str = find_str
    _pos = _str.find(_find_str)
    _find_str_count = 0
    while _pos != -1:
        _find_str_count = _find_str_count + 1
        _pos = _pos + len(_find_str)
        _pos = _str.find(_find_str, _pos)
    return _find_str_count

注意:在单词过短的情况下会出现错误,如统计“a”,除了“a”本身作为单词出现,在单词中的“a”字母也会被统计。所以,建议统计字符串短写的长单词。我是为了统计数据库连接数所写的这个,实际测试还是很好用。