Python 在第二次出现子字符串后打印字符串的其余部分

Python 在第二次出现子字符串后打印字符串的其余部分,python,Python,在原始字符串中找到另一个字符串的第二个匹配项后,我试图打印出剩余的字符串 我的代码: def after_second(target, search): count = 0 start = target.find(search) while start >=0: count +=1 start +=1 if count == 2:

在原始字符串中找到另一个字符串的第二个匹配项后,我试图打印出剩余的字符串

我的代码:

    def after_second(target, search):
        count = 0
        start = target.find(search)
        while start >=0:
            count +=1
            start +=1
            if count == 2:
                return target[start:]

    print(after_second("11223344554321", "3"))
    print(after_second("heyyoheyhi!", "hey"))
此代码应输出:

44554321

但是我回来了:

44554321


哟,你好

最多分两个部分将使第三部分包含您需要的内容:

"heyyoheyhi!".split("hey",2)[2] --> "hi!"

用最多2个劈开的方式劈开刺将使第三部分包含您需要的内容:

"heyyoheyhi!".split("hey",2)[2] --> "hi!"

有趣的是,我没有想到使用split函数。你能给我解释一下为什么需要逗号2吗?第二个参数设置了最大拆分数。因此,如果字符串中第三次出现“hey”,则不会导致额外的拆分。因此,两部分拆分的结果将是[“”、“yo”、“hi!”],拆分“heyyoheyhi!heybye”将返回[“”、“yo”、“hi!heybye”],使得第三部分(索引2)包含字符串的其余部分,而不管它包含什么。有趣的是,我没有想到使用拆分函数。你能给我解释一下为什么需要逗号2吗?第二个参数设置了最大拆分数。因此,如果字符串中第三次出现“hey”,则不会导致额外的拆分。因此,两部分拆分的结果将是[“”、“yo”、“hi!”],拆分“heyyoheyhi!heybye”将返回[“”、“yo”、“hi!heybye”],使得第三部分(索引2)包含字符串的其余部分,而不管它包含什么。