How to get a string after a specific substring? How to get a string after a specific substring? python python

How to get a string after a specific substring?


The easiest way is probably just to split on your target word

my_string="hello python world , i'm a beginner "print my_string.split("world",1)[1] 

split takes the word(or character) to split on and optionally a limit to the number of splits.

In this example split on "world" and limit it to only one split.


s1 = "hello python world , i'm a beginner "s2 = "world"print s1[s1.index(s2) + len(s2):]

If you want to deal with the case where s2 is not present in s1, then use s1.find(s2) as opposed to index. If the return value of that call is -1, then s2 is not in s1.


I'm surprised nobody mentioned partition.

def substring_after(s, delim):    return s.partition(delim)[2]

IMHO, this solution is more readable than @arshajii's. Other than that, I think @arshajii's is the best for being the fastest -- it does not create any unnecessary copies/substrings.