Matlab 如何删除字符串中的子字符串

Matlab 如何删除字符串中的子字符串,matlab,Matlab,我有一根这样的绳子 a={ {'a', 'b', 'c','d'},{''}, {'e', 'f', 'g', 'h'},{''} } 其中,两个“”是字符串中的空{1x1 cell}子字符串。我如何删除像这样的空子字符串并以 a={ {'a', 'b', 'c','d'}, {'e', 'f', 'g', 'h'} } 您可以使用and将外部单元格数组的每个单元格与{''}进行比较,然后将其用作删除这些单元格的方法: a(cellfun(@(c) isequal(c, {''}), a))

我有一根这样的绳子

a={ {'a', 'b', 'c','d'},{''}, {'e', 'f', 'g', 'h'},{''} }
其中,两个“”是字符串中的空{1x1 cell}子字符串。我如何删除像这样的空子字符串并以

a={ {'a', 'b', 'c','d'}, {'e', 'f', 'g', 'h'} }

您可以使用and将外部单元格数组的每个单元格与
{''}
进行比较,然后将其用作删除这些单元格的方法:

a(cellfun(@(c) isequal(c, {''}), a)) = [];

您可以尝试此代码来执行所需的操作:

a={ {'a', 'b', 'c','d'},{''}, {'e', 'f', 'g', 'h'},{''} }
j = 1
for i = 1:length(a)
   if ~ ismember( a{i}, '' )
       b{j}=a{i}
       j = j+1
   end
end
然后变量
a
将如下所示:

>> a{1}

ans = 

    'a'    'b'    'c'    'd'

>> a{2}

ans = 

    'e'    'f'    'g'    'h'

这真的是一根绳子吗?@Mohsen_Fatemi:不是。这是一个由字符组成的单元数组。对不起,我对matlab很陌生,仍然在努力学习正确的术语。。。