Home > Net >  Extract a string after a number of forward slashes from inside a string
Extract a string after a number of forward slashes from inside a string

Time:04-21

Hy have a string which corresponds to a file location in linux, i want to extract just the part of it that corresponds to the username and that always comes after the 6th forward slash and then store it in a new string variable:

str1 = "/usr/share/nginx/website/orders/jim/17jkyu.xlsx"
n = 0
user = ','

for ch in str1:
    if ch == '/':
        n  = 1
    if n == 6:
        user.join(ch)
    if n == 7:
        break

print(user   '\n')

In this case i want to extract jim and put it into the string user. So far is not working

CodePudding user response:

You can use the split Python built-in function over the / symbol, and select the 7th element:

str1.split('/')[6]

CodePudding user response:

Split the string then pull the index value.

str1 = "/usr/share/nginx/website/orders/jim/17jkyu.xlsx"
user = str1.split('/')[6]

CodePudding user response:

You can check if n=6 and the current char is not /, set user to an empty string and concat the character.

str1 = "/usr/share/nginx/website/orders/jim/17jkyu.xlsx"
n = 0
user = ''

for ch in str1:
    if ch == '/':
        n  = 1
    if n == 7:
        break
    if n == 6 and ch != '/':
        user  = ch

print(user)

Output

jim
  • Related