字符串集高效实现

时间:2012-05-29 11:30:34

标签: string matlab set

有没有一种简单的方法可以在Matlab中创建一组字符串?

我正在查看文件路径列表,并希望获得特定级别的所有文件夹名称。 但由于在某些文件夹中有几个文件,我会多次获取这些文件夹。

我知道有可能创建一个单元格数组并每次检查当前文件夹名称是否已经在数组中,如果没有,则添加它。

另一种选择是使用java HashSet类。

但是有没有简单的内置Matlab方法来做这样的事情? 我不能使用Vector,因为它会创建一个chars而不是字符串的矢量。

3 个答案:

答案 0 :(得分:1)

不幸的是,没有什么比Java Set实现更有效了。

但你可以使用set操作。您添加union时,或只是在您的收藏集上使用重复项调用unique

答案 1 :(得分:1)

你可以使用rdir脚本...... MATLAB文件交换来救援!

像这样使用:

listing = rdir(name);

该函数返回一个类似于内置dir命令的结构listing 这样可以省去自己迭代目录树的麻烦。

答案 2 :(得分:0)

“独特”怎么样:

x = {'dog', 'cat', 'cat', 'fish', 'horse', 'bird', 'rat', 'rat'};    
x_set=unique(x)    
x_set =  
'bird'    'cat'    'dog'    'fish'    'horse'    'rat'