给定文件的完整路径,如何获得没有文件名的路径?

时间:2010-04-06 01:28:08

标签: regex perl

假设我在一个名为'/home/user/directory/HelloWorld.txt'的字符串中有一个路径。我想删除HelloWorld.txt,最后得到'/ home / user / directory'。我需要什么样的正则表达式。

2 个答案:

答案 0 :(得分:17)

不要使用正则表达式。相反,请使用 File::Basename ,它可以处理所有特殊情况。

use File::Basename;

dirname("/foo/bar/baz/quux.txt"); --> "/foo/bar/baz"

答案 1 :(得分:0)

拆分为“/”,删除最后一个元素并将它们连接起来。

$path='/home/user/directory/HelloWorld.txt';
@s = split /\// ,$path;
pop(@s);
print join("/",@s);