主要内容

字符串

字符串数组

描述

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

可以使用标准数组操作在字符串数组中建立索引、重新格式化和连接字符串数组,还可以使用+操作符。如果字符串数组表示数字,则可以使用函数。

创建

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

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

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

str = [“水星”“双子座”“阿波罗”“天空实验室”B“天空实验室”“国际空间站”
str = 2x3 string "Mercury" "Gemini" "Apollo" "Skylab" "Skylab B" "ISS"

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

描述

例子

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

例子

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

输入参数

全部展开

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

输入类型

转换的笔记

样例输入

样例输出

字符

每行变成一个字符串标量

如果一个是空的,'',则输出为"",不含字符的字符串标量

1×3 char数组'foo'

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

单元阵列

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

{137}“foo”

(“137”“foo”)

分类数组

的每个元素对应的类别名称一个

1x3类别数组红绿蓝
字符串数组"red" "green" "blue"

数字数组

输出格式和精度等同使用% g组成

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

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

[137 3.1 e - 3 8.5 e-6]

(“137”“0.0031”“8.5 e-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)

的数据类金宝app型决定了支持的格式一个

  • 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 =擦掉(str,“啊!”
一匹马一匹马我的王国换一匹马

将所有字母转换为str小写字母。

str =低(str)
一匹马一匹马,我的王国换一匹马

分裂str对空格字符使用分裂函数。分裂丢弃空格字符并以字符串数组的形式返回结果。

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

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

str =独特(str)
str =5 x1字符串"a" "马" "王国" "我的"
一个=“八十七年以前。”
A =“87年前”
str = string ()
str = " 87年前"

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

c =大小(一个)
c =1×21 30
s =大小(str)
s =1×21 1

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

n = strlength (str)
n = 30

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

一个= {“水星”“双子座”“阿波罗”...“天空实验室”“太空实验室B”“国际空间站”
一个=2 x3细胞{“水星”}{“双子座”}{‘阿波罗’}{“太空实验室”}{“太空实验室B”}{“空间站”}
str = string ()
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 ()
str =1 x6字符串"77" "65" "84" "76" "65" "66"

str每个元素代表一个数字的字符串数组吗一个.请注意,字符串不将数字作为ASCII或Unicode®值来处理,而字符函数。

创建一个字符串数组,其中每个元素表示一个数字。要将字符串数组转换为数字数组,请使用函数。

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

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

作为替代,可以用thestr2double函数。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小时24.134小时25.134小时

转换D到字符串数组。

字符串str = (D)
str =1 x3字符串“23.134小时”“24.134小时”“25.134小时”

str是每个元素具有一个持续时间值的字符串数组。str大小是一样的吗D

中持续时间值的格式str

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

提示

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

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

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

扩展功能

介绍了R2016b