python:提取字符串的某些部分

python:提取字符串的某些部分,python,Python,我有一个字符串,我想从中提取某些部分。字符串如下所示: E:/test/my_code/content/dir/disp_temp_2.hgx 这是扩展名为hgx的特定文件在计算机上的路径 我非常想捕捉“disp_temp_2”。问题是我使用了strip函数,但它不能正确地为我工作,因为有许多“/”。另一个问题是,上述位置将始终在计算机上更改 是否有任何方法可以捕获最后一个“/”和“.”之间的精确字符串 我的代码如下所示: path = path.split('.') 。。现在我无法基于最

我有一个字符串,我想从中提取某些部分。字符串如下所示:

 E:/test/my_code/content/dir/disp_temp_2.hgx
这是扩展名为hgx的特定文件在计算机上的路径

我非常想捕捉“disp_temp_2”。问题是我使用了strip函数,但它不能正确地为我工作,因为有许多“/”。另一个问题是,上述位置将始终在计算机上更改

是否有任何方法可以捕获最后一个“/”和“.”之间的精确字符串

我的代码如下所示:

path = path.split('.')
。。现在我无法基于最后一个“/”进行拆分

有什么办法吗


谢谢使用os.path模块:

import os.path
filename = "E:/test/my_code/content/dir/disp_temp_2.hgx"
name = os.path.basename(filename).split('.')[0]

标准LIB很酷:

>>> from os import path
>>> f = "E:/test/my_code/content/dir/disp_temp_2.hgx"
>>> path.split(f)[1].rsplit('.', 1)[0]
'disp_temp_2'
试试这个:

path=path.rsplit('/',1)[1].split('.')[0]

path=path.split('/')[-1]。split('.')[0]
有效。

您可以在其他部件上使用拆分:

path = path.split('/')[-1].split('.')[0]
Python附带模块,为您提供了更好的处理路径和文件名的工具:

>>> import os.path
>>> p = "E:/test/my_code/content/dir/disp_temp_2.hgx"
>>> head, tail = os.path.split(p)
>>> tail
'disp_temp_2.hgx'
>>> os.path.splitext(tail)
('disp_temp_2', '.hgx')

取决于用户想要什么。上面的代码将类似于
foo.tar.gz
的内容转换为
foo
。这似乎是理想的行为。如果有人在文件名中有多个点,如
my.cool.file.txt
,则约定会变得模棱两可,在没有特定领域知识的情况下无法解析。谢谢,这非常适合我。我们总是有一个点的文件名。那是在延期之前。