使用 matlab / octave 将目录文件部分拆分为多个部分

splitting directory fileparts into sections using matlab / octave

我想将 pathstr 拆分成单独的部分,我该怎么做?请参见下面的示例。

PS: 我使用的是 Octave 3.8.1

dpath='tmp/h1/cli/pls/03sox_a_Fs_1000/'
[pathstr,name,ext] = fileparts(dpath)

>>>pathstr = tmp/h1/cli/pls/03sox_a_Fs_1000

如果我想要的只是03sox_a_Fs_1000或者 我怎样才能做到这一点?

请注意,文件名将会更改,并且可能具有不同的长度。

您可以使用 strsplit(此处使用 Matlab)使用定界符 /:

拆分您的字符串(信不信由你!)
pathstr = 'tmp/h1/cli/pls/03sox_a_Fs_1000'

[Name,~] = strsplit(pathstr,'/')

现在 Name 看起来像这样:

Name = 

    'tmp'    'h1'    'cli'    'pls'    '03sox_a_Fs_1000'

因此您可以 select 使用 end 关键字和花括号的最后一个元素,因为 strsplit 的输出是元胞数组:

Name = Name{end}

end-1 检索 pls

这适用于任何长度或格式的名称,只要它们由 / 分隔即可。