How to remove prefix from the given URL in python?
I know it's simple, but I want a nice method. How from url string like:
/en/something/123/foo/
get
/somet开发者_JAVA百科hing/123/foo/
?
It means, I want to remove first level (prefix).
If it's always three characters long:
str = str[3:]
If it can be variable-length, using only string/list operations:
str = '/' + '/'.join( str.split('/')[2:] )
Or using regex:
import re
str = re.sub('^/[a-z]*', '', str)
I would probably use the last method. If you need to do this a lot (e.g. in a loop), consider compiling the regex using re.compile()
to speed it up.
Building on richardolsson's answer, we can utilize the maxsplit
parameter of str.split
:
str = str.split("/", 2)[2]
This splits only the first two separators, and returns the rest (the third list item) unchanged.
精彩评论