如何获取由其完整路径指定的文件的父文件夹的名称?

Kar*_*rus 7 matlab string-parsing

在Matlab中,我有一个包含文件路径的字符串:

path = 'C:/Data/Matlab/Dir/file.m'
Run Code Online (Sandbox Code Playgroud)

我现在想要提取Dir字符串的' '部分.一种方法是:

[first, second, third, fourth, fifth] = strtok(path, '/')
Run Code Online (Sandbox Code Playgroud)

然后取出fourth元素,最后从中删除第一个字符(the /).

我只是想知道是否有更优雅的解决方案?显式存储所有first... fifth元素然后手动删除它似乎有点麻烦/.

谢谢.

小智 7

你可以尝试fileparts函数如下:

[ParentFolderPath] = fileparts('C:/Data/Matlab/Dir/file.m');
[~, ParentFolderName] = fileparts(ParentFolderPath) ;
ParentFolderName = 'Dir'
Run Code Online (Sandbox Code Playgroud)


小智 5

parts = strsplit(file_path, filesep);
parent_path = strjoin(parts(1:end-1), filesep);
Run Code Online (Sandbox Code Playgroud)


Max*_*Max 3

尝试:

parts = strsplit(path, '/');
DirPart = parts{end-1};
Run Code Online (Sandbox Code Playgroud)