主要内容

字符串

字符串数组

描述

你可以在MATLAB中表示文本®使用字符串数组.字符串数组的每个元素都存储一个字符序列。序列可以在没有填充的情况下具有不同的长度,例如“是的”而且“不”.只有一个元素的字符串数组也称为A字符串标量

可以使用标准数组操作索引到字符串数组中、重新塑造和连接字符串数组,还可以使用+操作符。方法将字符串数组转换为数值数组,如果字符串数组表示数字函数。

创建

您可以通过将一段文本括在双引号中来创建字符串标量。

str =“你好,世界”
str = "你好,世界"

要创建字符串数组,可以使用方括号连接字符串标量,就像可以将数字连接到数值数组一样。

STR = [“水星”“双子座”“阿波罗”“天空实验室”B“天空实验室”“国际空间站”
str = 2x3 string "水星" "双子座" "阿波罗" "太空实验室" "太空实验室B" "国际空间站"

方法还可以将不同数据类型的变量转换为字符串数组字符串函数,描述如下。

描述

例子

str=字符串(一个将输入数组转换为字符串数组。例如,如果一个是数字向量[1 20 300]str是一个相同大小的字符串数组,["1" "20" "300"]

例子

str=字符串(一个dateFmt,在那里一个是一个datetime持续时间数组应用指定的格式,例如“HH: mm: ss”.此外,您可以将区域设置指定为单独的输入,例如“en_US”

输入参数

全部展开

输入数组。的数据类型一个决定了字符串转换一个到字符串数组。

输入类型

转换的笔记

样例输入

样例输出

字符

每个Row都变成一个字符串标量

如果一个是空的,,输出为"",一个没有字符的字符串标量

1×3 char array 'foo'

1×1字符串数组foo
2×3 char array 'foo' 'bar'
2×1字符串数组foo" bar"

单元阵列

单元格数组的每个元素都必须转换为1乘1的字符串。

{137}“foo”

(“137”“foo”)

分类数组

的每个元素对应的类别名称是输出字符串一个

1 × 3分类阵列红绿蓝
1x3字符串数组"red" "green" "blue"

数字数组

输出格式和精度相当于使用% g组成

如果一个是空的,[],输出是一个0乘0的空字符串数组。

使用字符转换为ASCII或Unicode点。

[137 3.1e-3 8.5e-6]

["137" "0.0031" "8.5e-06"]

datetime数组

要指定格式和地区,请参见dateFmt

datetime(2020、6、1)

“01 - 2020年6月- - - - - -”

逻辑阵列

逻辑函数不接受字符串输入,因此转换是单向的。

逻辑([0 1])

(“false”“true”)

转换缺失的值,例如NaT,<定义>类别值,显示为< >失踪

日期格式和地区,指定为单独的字符向量或字符串标量。输入一个必须符合类型datetime持续时间,或calendarDuration

如果不指定格式,字符串中的值格式的属性一个.若要仅指定区域设置,请使用空数组作为格式的占位符,[]

例子:字符串(A,“yyyy-MM-dd”)

例子:字符串(“yyyy-MM-dd”,“en_US”)

例子:字符串([],en_US)

的数据类万博1manbetx型决定支持的格式一个

  • datetime格式可以包括单位和分隔符的组合,例如“yyyy-MMM-dd HH: mm: ss。SSS”.详细信息请参见格式财产datetime数组。

  • 持续时间格式是单个字符(ydh,或年代)或以下组合之一:

    • “弟弟:hh: mm: ss”

    • “hh: mm: ss”

    • “mm: ss”

    • “hh: mm”

    • 以上任意一种,最多九种年代用于表示小数第二个数字的字符,例如“hh: mm: ss。sss”

  • calendarDuration格式可以包括字符的组合ywd,t按时间单位由大到小的顺序排列,如“ym”.有关的更多信息持续时间而且calendarDuration格式,请参阅设置日期和时间显示格式

语言环境影响用于表示日期和时间的某些组件的语言,如月份名。有效值为:

  • “系统”,以指定系统区域设置。

  • 形式中的字符向量xx_YY,在那里xx是ISO 639-1两个字母的小写代码,用于指定一种语言,而YY是一个大写的ISO 3166-1 alpha-2代码,用于指定一个国家。有关示例值,请参阅语言环境的名称-值参数datetime函数。

输出参数

全部展开

输出数组,作为字符串数组返回。

MATLAB将所有字符存储为Unicode®使用UTF-16编码的字符。有关Unicode的更多信息,请参见Unicode

例子

全部折叠

要查找字符串中的惟一单词,请将其拆分为空格字符并调用独特的函数。

首先,创建一个字符串标量。

str =“一匹马!一匹马!我的王国换一匹马!”
str = "一匹马! "一匹马!我的王国换一匹马!”

去掉感叹号。

STR = erase(STR,)“啊!”
str =“一匹马一匹马我的王国换一匹马”

将所有字母转换成str到小写字符。

STR = lower(STR)
STR = "一匹马一匹马我的王国换一匹马"

分裂str的空格字符分裂函数。分裂丢弃空格字符并将结果作为字符串数组返回。

STR = split(STR)
str =9 x1字符串“a”“马”“a”“马”“我”“王国”“”“”“马”

找到唯一的单词str使用独特的函数。

STR = unique(STR)
str =5 x1字符串"a" "代表"马" "王国" "我的"
一个=“八十七年以前”
A =“八十七年以前”
str = string(A)
str = "八十七年前"

str包含与。相同的字符一个.但是,尽管一个是一个字符向量,str字符串标量。

c = size(A)
c =1×21 30
S = size(str)
s =1×21

返回的字符数str,使用strlength函数。

N = strlength(str)
N = 30

将字符向量的单元格数组转换为字符串数组。

A = {“水星”“双子座”“阿波罗”...“天空实验室”“太空实验室B”“国际空间站”
一个=2 x3细胞{“水星”}{“双子座”}{‘阿波罗’}{“太空实验室”}{“太空实验室B”}{“空间站”}
str = string(A)
str =2 x3字符串"水星" "双子座" "阿波罗" "太空实验室" "太空实验室B" "国际空间站"

的第一行的第二个元素str,使用平滑括号索引。可以使用矩阵索引访问字符串数组中的字符串,就像访问数值数组的元素一样。

str(1、2)
ans =双子座

访问第三列。

str (: 3)
ans =2 x1字符串“阿波罗”“国际空间站”
A = [77 65 84 76 65 66]
一个=1×677 65 84 76 65 66
str = string(A)
str =1 x6字符串77, 65, 84, 76, 65, 66

str是否每个元素都代表一个数字的字符串数组一个.请注意,字符串不像字符函数。

创建一个字符串数组,其中每个元素代表一个数字。方法可将字符串数组转换为数字数组函数。

STR = [“256”“3.1416”“8.9 e - 3”
str =1 x3字符串"256" "3.1416" "8.9e-3"
X = double(str)
X =1×3256.0000 3.1416 0.0089

如果输入参数是字符串数组,则函数将每个元素视为浮点值的表示形式。然而,当输入是字符数组时,而是将每个字符转换为代表其Unicode®值的数字。

作为一种替代方法,请使用str2double函数。str2double适用于输入参数可能是字符串数组、字符向量或字符向量的单元格数组的情况。

Y = str2double(str)
Y =1×3256.0000 3.1416 0.0089
C =“2.7183”;Z = str2double(C)
Z = 2.7183

从持续时间数组转换为字符串。有关从常用数据类型转换为字符串的更多信息,请参见日期时间数组、数字和文本之间的转换

创建一个持续时间数组中。

D =小时(23:25)+分钟(8)+秒(1.2345)
D =1 x3持续时间23.134 hr 24.134 hr 25.134 hr

转换D到字符串数组。

str = string(D)
str =1 x3字符串"23.134小时" "24.134小时" "25.134小时"

str是一个字符串数组,每个元素有一个持续时间值。str是一样的尺寸吗D

中指定持续时间值的格式str

str = string(D,“hh: mm”
str =1 x3字符串"23:08" "24:08" "25:08"

提示

  • 有关在字符串数组中创建和操作文本的函数列表,请参见字符和字符串

  • 如果输入参数是一个对象,那么它必须属于实现了类的类字符串方法将对象表示为字符串。

  • 转换字符数组转换为数值类型将生成对应Unicode代码值的数组。字符串中的文本不能以这种方式转换。将不表示单个数值的字符串转换为会产生结果。有关更多信息,请参见Unicode和ASCII值

扩展功能

在R2016b中引入