开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜