String 字符串集高效实现
有没有一种简单的方法可以在Matlab中创建一组字符串 我正在浏览一个文件路径列表,希望获得特定级别的所有文件夹名称。 但是因为在一些文件夹中有几个文件,我多次得到这些文件夹 我知道有可能创建一个单元格数组,每次检查当前文件夹名称是否已经在数组中,如果没有,则添加它 另一种选择是使用java HashSet类 但是有没有什么简单的内置Matlab方法可以做到这一点?String 字符串集高效实现,string,matlab,set,String,Matlab,Set,有没有一种简单的方法可以在Matlab中创建一组字符串 我正在浏览一个文件路径列表,希望获得特定级别的所有文件夹名称。 但是因为在一些文件夹中有几个文件,我多次得到这些文件夹 我知道有可能创建一个单元格数组,每次检查当前文件夹名称是否已经在数组中,如果没有,则添加它 另一种选择是使用java HashSet类 但是有没有什么简单的内置Matlab方法可以做到这一点? 我不能使用向量,因为它会创建字符而不是字符串的向量。不幸的是,没有什么比Java集实现更有效的了 但是你可以使用集合运算。添加时,
我不能使用向量,因为它会创建字符而不是字符串的向量。不幸的是,没有什么比Java集实现更有效的了 但是你可以使用集合运算。添加时,可以使用
union
,也可以对具有副本的集合调用unique
。您可以使用脚本。。。MATLAB文件交换来解救
像这样使用它:
listing = rdir(name);
该函数返回一个类似于内置命令的结构列表。
它可以让您省去自己遍历目录树的麻烦。那么“唯一”呢:
谢谢,但实际上文件结构不是本地的,它在某些版本控制系统中,所以我认为这在这里不起作用;)另外,我已经得到了一个过滤过的文件列表,其中只包含我需要的文件夹。谢谢,我想我会使用Javas HashSet,然后使用“ismember”
x = {'dog', 'cat', 'cat', 'fish', 'horse', 'bird', 'rat', 'rat'};
x_set=unique(x)
x_set =
'bird' 'cat' 'dog' 'fish' 'horse' 'rat'