我有一组文件名。
Eg: name=apple_class=1A_regis=1.txt
name=apple_class=1A_regis=2.txt
name=pear_class=1A_regis=1.txt
我希望能够将具有相同'name = apple_class = 1A'的所有文件名保存到数组中。这会将前两个文件名保存到一个数组中。
我尝试过使用for循环但我仍然无法得到它,因为我不知道如何检查文件名。
请帮忙。谢谢!
答案 0 :(得分:0)
使用strfind
,在您查找的字符串中返回您要查找的子字符串的索引。如果结果不为空,则字符串存在。在这个例子中,我将索引与1
进行比较,而不仅仅是检查它是否为空,以符合您的示例:
fileName = 'name=apple_class=1A_regis=1.txt';
k = strfind (fileName, 'name=apple_class=1A');
if k==1
% do something
end
答案 1 :(得分:0)
在@Itamar Katz回答的基础上,您可以将文件名保存在字符串的子区域中,应用STRFIND,然后找到匹配子字符串的文件名:
filenames = {
'name=apple_class=1A_regis=1.txt'
'name=apple_class=1A_regis=2.txt'
'name=pear_class=1A_regis=1.txt'
};
idx = strfind(filenames, 'name=apple_class=1A');
idx = find(~cellfun(@isempty,idx));
匹配的文件名是:
>> result = filenames(idx)
result =
'name=apple_class=1A_regis=1.txt'
'name=apple_class=1A_regis=2.txt'