python 总结下 字符在字符串中第n次的所在位置

def findSubStr(substr, str, i):
    count = 0
    while i > 0:                   #循环来查找
        index = str.find(substr)
        if index == -1:
            return -1
        else:
            str = str[index+1:]   #第一次出现该字符串后后面的字符
            i -= 1
            count = count + index + 1   #位置数总加起来
    return count - 1

二.
def findStr(string, subStr, findCnt):
    listStr = a.split(subStr,findCnt)
    print listStr
    if len(listStr) <= findCnt:    #分割完后的字符串的长度(分割段)与要求出现的次数比较
        return -1
    return len(string)-len(listStr[-1])-len(subStr)    
    #len(listStr[-1])最后的一个集合里面字符串的长度  ,len(subStr)  减去本身的长度

a = "12345(1)254354(1)3534(1)14"
sub = "(1)"

N = 2      #查找第2次出现的位置
print findStr(a,sub,N)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值