假设我在一个名为'/home/user/directory/HelloWorld.txt'的字符串中有一个路径。我想删除HelloWorld.txt,最后得到'/ home / user / directory'。我需要什么样的正则表达式。
答案 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);