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

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 , im 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 , im 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.

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

Im surprised nobody mentioned partition.

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *