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很陌生,仍然在努力学习正确的术语。。。