将细胞转化为字符串

1视图(30天)
约翰Brathwaite
约翰Brathwaite 2011年4月14日
其实我有一个1 x1 struct我提取的数据。
但数据是数字和字符串的混合物。
我想把所有的数据转换成字符串,这样我就可以将它存储在一个单独的单元阵列。
“字符”并不能做好转换,因为它截断一切到255。

接受的答案

安德烈Bobrov
安德烈Bobrov 2011年4月14日
变体
dc = struct2cell(数据);
t1 = cell2mat (cellfun (@ (x) [ischar (x) isnumeric (x)),,“UniformOutput”、假));
celstr =直流(t1 (: 1));
num =直流(t1 (:, 2));
%如果有一个字段与细胞字符和数字
任何(t1, t2 = ~ 2);
dcc =细胞(cellfun (@ (x) x(:)“特区(t2),“UniformOutput”、假));
dcc2 = (dcc {:});
t3 = cell2mat (cellfun (@ (x) [ischar (x) isnumeric (x)], dcc2,“UniformOutput”、假)“)”;
celstr = [celstr; dcc2 (t3 (1,:)));
num = [num; dcc2 (t3 (2:)));

更多的答案(3)

1月
1月 2011年4月15日
标量、数组的数字吗?你想要的格式作为输出?
C = struct2cell (DataStruct);
numIndex =找到(不是(cellfun (“isclass”C“字符”)));
我=重塑(numIndex 1 [])
C{我}= numstr (C{我});
结束

沃尔特·罗伯森
沃尔特·罗伯森 2011年4月15日
你用的哪个MATLAB版本?char()已经接受了65535以来大约MATLAB 6.2。
1评论
1月
1月 2011年4月15日
甚至MATLAB 5.3已经16位字符。

登录置评。


约翰Brathwaite
约翰Brathwaite 2011年4月18日
这是有趣的字符的问题。我用matlab 7.8.0
但是我能完成“struct2cell”。
谢谢你的帮助!

类别

找到更多的在字符和字符串帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!