元胞数组变为字符串数组
如何将元胞数组变为字符串数组啊:我有一个元胞数组stause :1*386cell,每个cell里面是类似于字符串 ‘ALBH’ ’BLHC‘....等等
因为要在cell里面寻找字符串对应的下标,如寻找BLHC 其在stause cell里面对应的下标为2,而find 函数不能对字符串进行操作,故怎样才能将stause变为字符串数组,如,stause =['ALBH';'BLHC'...],谢谢各位帮忙 help char ??? 回复 ChaChing 的帖子
谢谢教授,但是char的结果是字符,而非字符串,如tt =char(stause);tt(1) =A,而我想要的结果是tt(1) = 'ALBH'
>> A = {'asdf';'surf'};
find(strcmp(A,'surf'))
ans =
2
回复 ppthelion 的帖子
抱歉, 没注意到!
原以为LZ使用头一字元即可完成所需! 本帖最后由 zhouyang664 于 2010-10-23 19:16 编辑
假如你的cell中的每个元素都含有相同个数的字符就好说!
a{1}='abc';
a{2}='bcd';
a{3}='cde';
d=reshape(,[],3)
d =
abc
bcd
cde
class(d)
ans =
char
楼主想要的是这个效果吗?
再补充一下,这个可以处理不同长度的cell元素:
>> a{1}='abcdefg';
>> a{2}='bcd';
>> a{3}='cdefg';
>> d=cellfun(@char,a,'UniformOutput',false)
d =
'abcdefg' 'bcd' 'cdefg'
e=char(d)
>> e =
abcdefg
bcd
cdefg
>> class(e)
ans =
char
>>
回复 zhouyang664 的帖子
呵呵,谢谢,回答的详细,扩展很丰富,非常感谢
本帖最后由 qibbxxt 于 2010-11-2 15:56 编辑
不知道strfind
可以不 cstr = {'How much wood would a woodchuck chuck';
'if a woodchuck could chuck wood?'};
idx = strfind(cstr, 'wood');
idx{:,:}
ans =
10 23
ans =
6 28
页:
[1]