matlab里cell和char,字符串与字符数组

转载 2015年07月09日 09:59:34

转载自:http://blog.sina.com.cn/s/blog_6a388c8f01015n04.html


用importdata和textscan读取内容为字符串的txt,结果为cell型元胞组。

我想把cell变成char型,然后就自然地想到cell2str,遗憾的是matlab中没有这个函数。

就像没有str2cell一样。

实现str2cell功能的函数是cellstr,将字符数组转换为cell型字符串数组

函数语法为c = cellstr(S)

它的作用是:将字符数组S中的每行分割成为cell细胞元组C的一个元素。并删除S的每行尾部空格

正好与char相反,char是将cell字符串数组转化为字符数组s=char(c)

 

 

很多人分不开字符数组和字符串什么区别。
>>str1='i love matlab' % 这是一个字符数组,也是一个字符串
str1 =
i love matlab

>>str2=['I ';'am ';'a ';'boy'];% 这是字符数组,由于是数组,所以每一行必须具有相同的列数(字符数相同),不够补空格
str2 =
I
am
a
boy

由于字符数组必须满足每一行具有相同的字符数,所以输入时很麻烦。通常情况我们使用char函数来完成自动补充空格或者创建字符串cell细胞元组
>>char('i','love','matlab') % char函数会自动补充空格
ans =
i
love
matlab

>>{'i','love','matlab'} % 在cell字符串中,每个单元都可以完全不同的内容,所以,不需要补充空格
ans =
'i' 'love' 'matlab'

 


下面来看几个例子:

例1:创建一个字符串数组,记住补空格
>>S= ['abc '; 'defg'; 'hi  '] (下划线代表空格)
S =
abc
defg
hi

>>whos S
Name Size Bytes Class
S    3x4  24    char array

例2:下面使用cellstr将字符数组,转换为3*1的cell细胞元组,此时尾部空格会自动删除 :
>>c = cellstr(S)
c =
'abc'
'defg'
'hi'

>>whos c
Name Size Bytes Class
c    3x1  294   cell array

例3:再使用char函数将cell字符串转换为字符数组
>>char(c)
ans =
abc
defg
hi

>> whos ans
Name Size Bytes Class Attributes
ans  3x4  24    char


Matlab中cell与其它类型之间的转换

参考资料 [1]matlab中cell类型转成str类型怎么转?谢谢!

matlab里cell和char,字符串与字符数组(zz)

原文链接: http://blog.sina.com.cn/s/blog_6a388c8f01015n04.html 用importdata和textscan读取内容为字符串的txt...

matlab中的cell array, cellstr()和char()的用法

Cell Array的定义:顾名思义,Cell Array是由Cell构成的Array。Cell可以包含各种数据类型。可以使用()取cell array的子集,使用{}取cell array指定位置的...
  • vernice
  • vernice
  • 2015年11月16日 23:05
  • 16383

MATLAB字符串转换函数

除了上面讨论的,字符串和它的ASCII表示之间转换外,MATLAB还提供了大量的其它的有用的字符串转换函数。它们包括:表6.1字  符  串  转  换...
  • tsinfeng
  • tsinfeng
  • 2011年03月05日 16:29
  • 14195

Python编程的例子----股票数据接口

如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL: http://hq.si...

Python 股票历史数据的获取

本文主要讨论的是pytho免费股票数据的获取及处理。国内提供股票数据的接口如sinajs,money.163.com,yahoo,它们提供的API接口不同,每家提供的数据大同小异,可以选择一家的数据来...
  • cbbing
  • cbbing
  • 2015年06月28日 12:33
  • 9315

c语言==字符数组与字符串,char的取值范围(1)

字符数组与字符串的初始化,sizeof与strlen的使用。 char类型的取值范围

C++ 字符串string与字符数组char[ ]的异同

1  字符串string与字符数组char[ ]的异同 1.1  了解字符char与字符串的区别  a    char类型不是C++的基本数据类型,实质上是8位的整数类型,在计算机保存的是...

Java中char数组(字符数组)与字符串String类型的转换方法

java字符串转换

字符数组和字符串,char 和string定义的字符串的区别与遍历

字符数组:存在字符的数组字符串 :是使用最频繁的字符数组,是一个特殊的字符数组C++中并没有专门的字符串的类型,一个字符串实际上就是一个字符数组,与普通字符数组不同的是,字符串的结尾有一个字符\0,表...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:matlab里cell和char,字符串与字符数组
举报原因:
原因补充:

(最多只允许输入30个字)