将文本存储为字符向量,用单引号括起来。通常,字符向量具有您认为是单一信息的文本,例如文件名或绘图的标签。如果您有很多文本,例如文件名列表,则可以将它们存储在单元格数组中。其元素是所有字符向量的单元格数组是a字符向量的单元格阵列.
截至R2018B,将文本的推荐方法用于使用字符串阵列.如果您创建具有的变量细绳
数据类型,将它们存储在字符串数组中,而不是单元格数组。有关更多信息,请参阅字符串和字符数组中的文本和更新您的代码以接受字符串.
虽然这句话字符串单元格数组经常被用来描述这种单元阵列,这句话不再准确,因为这种单元阵列保持字符向量,而不是字符串。
要创建字符向量的单元格数组,请使用Crly括号,{}
,正如您要创建任何单元格数组。例如,使用字符向量的单元格数组来存储名称列表。
c = {'李'那“桑切斯”那'琼斯'那“杨”那'Larson'}
C =1x5单元格阵列{'Li'} {'Sanchez'} {'Jones'} {'Yang'} {'Larson'}}
字符向量C
可以具有不同的长度,因为单元格阵列不要求其内容具有相同的大小。确定字符向量的长度C
, 使用斯特莱格
功能。
l = strlength(c)
l =1×52 7 5 4 6
要访问单元格数组中的字符向量,请使用花括号对其进行索引,{}
.提取第一单元的内容并将其存储为字符向量。
c = {'李'那“桑切斯”那'琼斯'那“杨”那'Larson'};chr = c {1}
chr ='li'
给第一个单元格分配一个不同的字符向量。
c {1} =“杨”
C =1x5单元格阵列{'yang'} {'sanchez'} {'jones'} {'yang'} {'larson'}
要引用单元格的子集,而不是其内容,请使用圆括号进行索引。
C(1:3)
ans =.1 x3单元阵列{'yang'} {'sanchez'} {'jones'}
虽然您可以通过索引访问单元格的内容,但大多数函数接受单元格阵列作为输入在整个单元格数组上运行。例如,您可以使用比较字符串
比较内容的功能C
到一个字符的矢量。比较字符串
回报1
哪里有火柴和0.
除此以外。
tf = strcmp(c,“杨”)
tf =1x5逻辑阵列1 0 0 1 0
你可以总结一下TF.
找到匹配的数量。
num = sum(tf)
num = 2
用TF.
作为返回匹配项的逻辑索引C
.如果使用圆括号进行索引,则输出的是只包含匹配项的单元格数组。
m = c(tf)
m =1x2单元格阵列{'yang'} {'yang'}
截至R2018B,在整个Matlab®和MathWorks®产品金宝app中支持串阵列。下载188bet金宝搏因此,建议您使用字符串数组而不是字符向量的单元格阵列。(但是,接受字符串阵列作为输入的MATLAB函数也接受字符向量和字符向量的单元格阵列。)
您可以将字符向量的单元格阵列转换为字符串数组。要转换字符向量的单元格数组,请使用细绳
功能。
c = {'李'那“桑切斯”那'琼斯'那“杨”那'Larson'}
C =1x5单元格阵列{'Li'} {'Sanchez'} {'Jones'} {'Yang'} {'Larson'}}
str = string(c)
str =1x5字符串数组“李”“桑切斯”“琼斯”“杨”“拉森”
事实上,细绳
函数可以转换任何单元格数组,只要所有内容都可以转换为字符串。
C2 = {5,10,“一些文本”datetime ('今天')}
C2 =1×4个细胞{[5]} {[10]} {'某些文本'} {[01-FEB-2020]}
str2 = string(c2)
str2 =1 x4字符串数组“5”“10”“一些文本”“01-2月 - 2020”
Cellstr.
|char
|Iscellstr.
|比较字符串
|细绳