【问题标题】:How to extract numbers in a filename from matlab?如何从matlab中提取文件名中的数字?
【发布时间】:2016-08-20 22:14:03
【问题描述】:
我必须从目录中的大量文件名中读出数字和可能的一些字母。文件名的格式为“aXXXX_bXX_XX_S.ext”,其中“X”可以是任何数字,“s”可以是任何字母或字符串。如何将这些数字和字符串提取为单独的元胞数组?
谢谢!
【问题讨论】:
标签:
matlab
parsing
numbers
filenames
letters
【解决方案1】:
首先,您可以读取目录中的所有文件。假设您的文件夹的位置存储在字符串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