python判断字符在某个字符串中出现了多少次

前言

最近用python做了很多文件类读写的需求,需要对字符串操作比较熟悉,py对于这方面的类库封装得很完善,而且py作为一门优秀的脚本语言,用起来简单方便,只需要下个解释器就可以跑语法了。
言归正传,今天的主题是“判断字符在字符串中出现多少次”,可能有的朋友想的是for循环遍历检测每个字符,其实遍历是最low的,或许又想了str有没有相关的api可以用,可能联想到str.find之类的,但是这样显然不能统计次数,而后我又想到了str.split操作,这倒给了我一个好的思路,后面我会介绍一下,后来百度看了下标准做法,然后结合一下自己的需求,整理了出来。

用lambda表达式去查找(较复杂,仅查单字符)

def checkStr(str_source,str_check):#str_source:源字符串;str_check:要检查字符
    return sum(map(lambda check:str_check.count(check),str_source))

print(checkStr('ababa','a'))#->3

用str.split去查找(较简单,可以多字符查询)

def checkStr1(str_source,str_check):#str_source:源字符串;str_check:要检查字符
    splits = str_source.split(str_check)#返回拆分数组
    return len(splits)-1#返回拆分次数-1

print(checkStr1('ababa','ba'))#->2

猜你喜欢

转载自blog.csdn.net/qq_42541751/article/details/121576598