我想获得一个没有路径的文件名(如果它是字符串的一部分)以及扩展名。
例如:
/path/to/file/fileName.txt # results in "fileName"
fileName.txt # results in "fileName"
/path/to/file/file.with.periods.txt # results in "file.with.periods"
所以基本上,我想删除之前的任何内容,包括最后一个“/”(如果存在)以及最后一个“。”以及它之后的任何元字符。
对于这样一个新手问题,我很抱歉,但我是 perl 的新手。
最佳答案
为了在给定完整路径的情况下可移植地获取文件的基本名称,我建议使用 File::Basename
模块,它是核心的一部分。
要对文件扩展名进行启发式分析,我会使用正则表达式,例如
(my $without_extension = $basename) =~ s/\.[^.]+$//;
关于regex - 从 Perl 中的字符串中删除文件扩展名和路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3667859/