如果s是一個cell如下:
s =
3×1 cell 數組
'j'
'北jing'
[ NaN]
方法一:
s{i}返回字符串 s(2)返回cell類型,s{2}返回string類型
>> s(2)
ans =
cell
'北jing'
>> s{2}
ans =
北jing
方法二:
a=char(s) %char是將cell字符串數組轉化為字符數組
前提:先把[NAN]替換,例如替換成‘空’字符
>> a=char(s)
a =
j
北jing
空
但是a是字符數組,有3行5列
a是字符數組,由於是數組,所以每一行必須具有相同的列數(字符數相同),不夠補空格
所以a(1,:)='j ' (后面四個空格)而不是 'j'
>> strcmp(a(1,:),'j')
ans =
logical
0
>> mat2str(a)
ans =
['j ';'北jing';'空 ']%第一個和第三個字符串后面帶空格
相反地,cellstr是將字符數組a中的每行分割成為cell細胞元組s的一個元素。並刪除a的每行尾部空格
>> s=cellstr(a)
s =
3×1 cell 數組
'j'
'北jing'
'空'
在cell字符串中,每個單元都可以完全不同的內容,所以,不需要補充空格