从字符串内部提取多个正斜杠后的字符串

Extract a string after a number of forward slashes from inside a string

我有一个对应于 linux 中的文件位置的字符串,我只想提取其中对应于用户名且始终位于第 6 个正斜杠之后的部分,然后将其存储在一个新的字符串变量:

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')

在这种情况下,我想提取 jim 并将其放入字符串 user 中。 到目前为止还没有工作

您可以在 / 符号和 select 第 7 个元素上使用 split Python built-in 函数:

str1.split('/')[6]

拆分字符串然后提取索引值。

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

您可以检查 n=6 并且当前字符不是 /,将 user 设置为空字符串并连接字符。

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)

输出

jim