MATLAB®推出串
在R2016b数据类型。在R2018b开始,您可以使用字符串数组来工作,整个文本MathWorks公司®s manbetx 845产品。字符串数组存储文本块和用于处理文本数据的工作提供的一组功能。你可以索引,重塑和连接字符串数组就像你可以与任何其他类型的数组。欲了解更多信息,请参阅创建字符串数组。
在大多数方面中,字符串数组表现得像字符向量和特征向量的单元阵列。不过,也有字符串数组和字符数组,可导致你可能不希望结果之间的一些关键区别。对于这些差异,存在使用字符串,导致了预期的结果,建议这样做。
当您使用功能,如光盘
,DIR
,拷贝文件
, 要么加载
在命令形式的功能,避免使用双引号。在命令行,双引号括起来的参数可能会导致错误。要指定参数为字符串,用函数形式。
随着命令的语法,你用空格而不是逗号分隔的投入,而你在括号不围输入参数。例如,你可以使用光盘
使用命令语法更改文件夹功能。
光盘C:\ TEMP
文本C:\ TEMP
是一个字符向量。在命令的形式,所有参数都总是特征向量。如果你有一个说法,如文件夹名称,包含空格,然后用单引号括起来指定为一个输入参数。
光盘'C:\ Program Files文件'
但是,如果你使用双引号指定参数,然后光盘
抛出一个错误。
光盘“C:\ PROGRAM文件”
错误使用CD太多的输入参数。
该错误消息可以根据您使用的功能与您指定的参数会有所不同。例如,如果您使用加载
命令语法功能,并使用双引号指定参数,然后加载
抛出一个不同的错误。
加载“myVariables.mat”
错误使用负载无法读取文件“‘myVariables.mat’”:无效的参数。
在命令行,双引号被当作文字文本的一部分,而不是作为字符串建设运营商。如果你写的当量CD “C:\ Program Files文件”
功能形式,那么它看起来像一个呼叫光盘
有两个参数。
光盘('“C:\ PROGRAM',“文件“”)
当指定参数为字符串,用函数的语法。所有功能的支持命令语法还支持函数的语法万博1manbetx。例如,你可以使用光盘
与函数的语法和输入参数是双引号中的字符串。
光盘(“C:\ Program Files文件”)
当你有多个字符串,并将其存储在一个字符串数组,不一个单元阵列。创建使用方括号,而不是大括号的字符串数组。字符串数组比单元阵列更有效用于存储和操作的文本。
海峡= [“金星”,“地球”,“火星”]
STR = 1×3字符串数组“金星”,“地球”,“火星”
避免使用字符串单元阵列。当您使用电池阵列,你放弃了那个来自使用字符串数组的性能优势。而事实上,大多数函数不接受字符串作为输入参数,期权或名称 - 值对的值的单元阵列。例如,如果指定字符串的单元阵列作为输入参数,则包含
函数抛出一个错误。
C = {“金星”,“地球”,“火星”}
C = 1×3单元阵列{[ “金星”]} {[ “地球”]} {[ “火星”]}
TF =含有(C,“地球”)
使用错误包含第一参数必须是一个字符串数组,字符向量,或字符向量的单元阵列。
取而代之的是,将参数指定为一个字符串数组。
海峡= [“金星”,“地球”,“火星”]。TF =含有(STR,“地球”);
R2016b,“串的单元阵列”一词意味着前一个单元阵列,其元素都包含特征向量。但更精确的将此类单元阵列为“字符向量的单元阵列,”从字符串数组区分它们。
单元阵列可以包含具有任何数据类型,包括字符串变量。它仍然是有可能创造一个单元阵列,其元素都包含字符串。如果你已经在你的代码中指定字符向量单元阵列,然后替换单引号用双引号似乎是一个简单的更新。但是,我们不建议您创建或字符串使用电池阵列。
长度()
的字符串返回1?它是常用的长度
函数来确定的字符向量的字符数。但要确定字符的字符串中的数量,使用strlength
函数,而不是长度
。
创建使用单引号字符向量。为了确定它的长度,使用长度的功能。因为C
是一个向量,它的长度等于字符数。C
是1×11矢量。
C ='你好,世界';L =长度(C)
L = 11
使用双引号创建具有相同字符的字符串。虽然它能存储11个字符,海峡
是一个1×1字符串数组,或串标。如果你调用一个串标量长度,则输出参数是1
,无论它存储多少个字符。
海峡=“你好,世界”;L =长度(STR)
L = 1
要确定一个字符串中的字符数,使用strlength
功能,R2016b介绍。为了兼容,strlength
上字符向量进行操作也是如此。在这两种情况下,strlength
返回的字符数。
L = strlength(C)
L = 11
L = strlength(STR)
L = 11
您还可以使用strlength
在包含多个字符串的字符串数组和字符向量的单元阵列。
该长度
函数返回一个数组的最长尺寸的尺寸。为一个字符串数组,长度
返回的数量字符串沿阵列的最长尺寸。它不返回的字符数内字符串。
是空的(””)
返回0?一个字符串可以在完全没有的字符。这样的字符串是一个空字符串。您可以指定使用一对空双引号的空字符串。
L = strlength(“”)
L = 0
然而,一个空字符串不空数组。空字符串是一个字符串标量出现这种情况有没有字符。
SZ =尺寸(“”)
SZ = 1×2 1 1
如果你打电话是空的
在一个空字符串,然后返回0
(假
),因为该字符串不是空数组。
TF =的isEmpty(“”)
TF = 0逻辑
但是,如果你打电话是空的
一个空字符阵列上,则它返回1
(真正
)。指定为空对单引号的字符数组,“”
是一个0逐0字符数组。
TF =的isEmpty(“”)
TF = 1逻辑
为了测试一段文字是否有没有字符,最好的做法是使用strlength
功能。您可以使用相同的呼叫输入是否是一个字符串标量或特征向量。
海峡=“”;如果strlength(STR)== 0 DISP(“字符串没有文字”)结束
字符串没有文本
CHR =“”;如果strlength(CHR)== 0 DISP(“字符向量没有文字”)结束
字符向量没有文本
您可以将文字用方括号字符向量。但是,如果你用方括号文本添加到字符串数组,然后将新的文本将被连接的字符串数组的新元素。要追加文本字符串,请使用加
运营商或strcat的
功能。
例如,如果你连接两个字符串,那么结果是一个1×2字符串数组。
海峡= [“你好”“世界”]
STR = 1×2字符串数组的 “Hello”, “世界”
但是,如果您连接两个特征向量,那么结果是一个较长的载体。
海峡= ['你好''世界']
CHR = '的HelloWorld'
将文本追加到一个字符串(或为一个字符串数组的元素),可以使用加
操盘方括号。
海峡=“你好”+“世界”
STR = “HelloWorld” 的
作为替代方案,你可以使用strcat的
功能。strcat的
追加文本的输入参数是否串或字符向量。
STR = strcat的(“你好”,“世界”)
STR = “HelloWorld” 的
无论您使用方括号,加
, 要么strcat的
,你可以指定的参数任意数量。附加之间的空格字符你好
和世界
。
海峡=“你好”+“”+“世界”
海峡= “Hello World” 的
光盘
|包含
|拷贝文件
|DIR
|是空的
|长度
|加载
|加
|尺寸
|的sprintf
|strcat的
|串
|strlength