从字符串中提取子字符串,python
我有一个指向某个文件的路径:从字符串中提取子字符串,python,python,string,Python,String,我有一个指向某个文件的路径: 'home/user/directory/filename' 我想得到文件名-子部分。主要问题是,我不知道字符串的长度,也不知道文件名的长度。我只知道文件名放在字符串的末尾,在最后一个斜杠/之后。字符串中斜杠的数量可能是绝对随机的(因为我想从某些PC上的每个目录中获取文件名)。 因此,我现在看不到索引提取的常用方法,如: string[number:] 有什么想法吗 要获取基本名称,请使用: 返回路径名路径的基名称。这是通过传递函数split()的路径返回的第二
'home/user/directory/filename'
我想得到文件名
-子部分。主要问题是,我不知道字符串的长度,也不知道文件名的长度。我只知道文件名放在字符串的末尾,在最后一个斜杠/
之后。字符串中斜杠的数量可能是绝对随机的(因为我想从某些PC上的每个目录中获取文件名)。
因此,我现在看不到索引提取的常用方法,如:
string[number:]
有什么想法吗 要获取基本名称,请使用:
返回路径名路径的基名称。这是通过传递函数split()的路径返回的第二个元素
或str.rsplit
:
print(pth.rsplit("/",1)[1])
filename
如果您试图为上次出现的字符串编制索引,则应使用rindex:
print(pth[pth.rindex("/") + 1:])
你也可以试试这个
>>> import os
>>> s = 'home/user/directory/filename'
>>> os.path.split(s)[1]
'filename'
re.match(r“(.*)/(.*)”,s).group(2)
另一个小建议:-将该引号放在quote
块中。它看起来会明亮干净。@BhargavRao,你是个严厉的监工;)想象一下,如果我成为某所大学的校长。学生们会的@#$@巴尔加夫罗,哈哈,是的,我仍然记得我们为一些老师取的可爱的名字。
>>> import os
>>> s = 'home/user/directory/filename'
>>> os.path.split(s)[1]
'filename'