我想从单元格数组(m x n)
中找到字符串,并使用matlab在新单元格数组(m x n)
中添加这些标识的字符串,例如:
Human(i,1)={0
1
34
eyes_two
55
33
ears_two
nose_one
mouth_one
631
49
Tounge_one}
我想删除数字,只有字符串
New_Human(i,1)={eyes_two
ears_two
nose_one
mouth_one
tounge_one}
答案 0 :(得分:1)
根据您的评论,您的所有数据都会被存储为字符串。在这种情况下,您可以使用以下方法删除表示有效数字的所有字符串。
H = {'0'; '1'; '34'; 'eyes_two'; '55'; '33'; 'ears_two'; 'nose_one'; 'mouth_one'; '631'; '49'; 'Tounge_one'};
idx = cellfun(@(x)isnan(str2double(x)), H);
Hstr = H(idx)
输出
Hstr =
'eyes_two'
'ears_two'
'nose_one'
'mouth_one'
'Tounge_one'
代码确定哪些字符串不代表有效的数值。这是通过检查str2double
函数是否在每个字符串上返回NaN
结果来完成的。如果您想了解有关其工作原理的更多信息,建议您阅读cellfun
上的文档。