skip to Main Content

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

3

Answers


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

    str1.split('/')[6]
    
    Login or Signup to reply.
  2. Split the string then pull the index value.

    str1 = "/usr/share/nginx/website/orders/jim/17jkyu.xlsx"
    user = str1.split('/')[6]
    
    Login or Signup to reply.
  3. 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
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search