Home > Enterprise >  Python program to find the 3rd position of occurrence of a given string in another given string
Python program to find the 3rd position of occurrence of a given string in another given string

Time:09-30

how to find Python program to find the 3rd position of occurrence of a given string in another given string. find_string("I am the the champion of the champions of the champions", "the")

CodePudding user response:

You can use a regular expression like this to find your 'needle' in a 'haystack'

import re
haystack = "I am the the champion of the champions of the champions"
needle = "the"


    # print all matches
for i, match in enumerate(re.finditer(needle, haystack)):
    print(f"{i 1}, start:{match.start()}, end:{match.end()}")

# or select the third from a list
matches = list(re.finditer(needle, haystack))  # list of all matches
matches[2].start()  # get start position of third match
matches[2].end()  # get end position of third match

EDIT: Using only str.find

def find_nth(haystack, needle, n):
    start, lneedle = haystack.find(needle), len(needle)
    for _ in range(n-1):
        start = haystack.find(needle, start   lneedle)
    return start

find_nth(haystack, needle, 3)

CodePudding user response:

You can do like this,

def find_string(txt, str1, n):
    index = 0
    for i in range(n   1):
        index = txt.find(str1, index   1)
    return txt.find(str1, index)

Output:

find_string("I am the the champion of the champions of the champions", "the", 3)
# Output
# 42
  • Related