0

I know it's simple, but I want a nice method. How from url string like:

/en/something/123/foo/

get

/something/123/foo/

?

It means, I want to remove first level (prefix).

1

2 Answers 2

4

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.

Sign up to request clarification or add additional context in comments.

Comments

0

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.