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

时间:2011-06-23 13:52:14

标签: python

我有一个字符串,我想从中提取某些部分。字符串看起来像:

 E:/test/my_code/content/dir/disp_temp_2.hgx

这是机器上具有扩展名hgx

的特定文件的路径

我想要捕获“disp_temp_2”。问题是我使用了条带功能,因为有很多'/'而对我不起作用。另一个问题是,上述位置将始终在计算机上更改。

是否有任何方法可以捕获最后一个'/'和'。'

之间的确切字符串

我的代码如下:

path = path.split('.')

..现在我无法根据最后一个'/'拆分。

任何想法如何做到这一点?

由于

6 个答案:

答案 0 :(得分:6)

使用os.path模块:

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

答案 1 :(得分:3)

Python附带os.path模块,它为您提供了更好的处理路径和文件名的工具:

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

答案 2 :(得分:1)

标准库很酷:

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

答案 3 :(得分:0)

试试这个:

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

您可以在另一部分使用拆分:

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