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)包含字符串的其余部分,而不管它包含什么。