如何从matlab中提取文件名中的数字?

时间:2016-04-26 21:11:24

标签: matlab parsing numbers filenames letters

我必须从目录中的大型文件名中读出数字和可能的一些字母。文件名的格式为" aXXXX_bXX_XX_S.ext"在哪里' X'可以是任何数字和'可以是任何字母或字符串。如何将这些数字和字符串作为单独的单元格数组提取?

谢谢!

1 个答案:

答案 0 :(得分:0)

首先,您可以阅读目录中的所有文件。假设您的文件夹的位置存储在字符串path中,请使用:

 a=dir(mypath);

现在你有一个结构a。文件名存储在a.name中。现在你可以使用它了。这是一个非常粗略的代码。你遍历所有文件,检查第一个字母是a(可能有一些隐藏文件,你不需要它们)。然后,您从符合条件的文件中提取所需的数据。

 n=0;
 for i=1:numel(a)
     if a(i).name(1)=='a'
         n=n+1; 
         numbers{n}=strcat(a(i).name(2:5),a(i).name(8:9),a(i).name(11:12));
         letters{n}=a(i).name(13:find(a(i).name=='.')-1);

     end
 end