cell转字符串

如果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字符串中,每个单元都可以完全不同的内容,所以,不需要补充空格

 

posted @ 2018-07-08 17:26  Horse-Ma  阅读(12999)  评论(0编辑  收藏  举报