目录
字符数组是一个字符序列,就像数值数组是一个数字序列一样。它的典型用途是将一小段文本作为一行字符存储在字符向量中。
创建对象
可以使用单引号创建字符向量。
C = 'Hello, world'
C =
'Hello, world'
如果有一个其他数据类型的数组,则可以使用下面介绍的 char
函数将其转换为字符数组。
语法
C = char(A)
C = char(A1,...,An)
C = char(D)
C = char(D,fmt)
C = char(D,fmt,locale)
说明
C= char(A) 将数组 A 转换为字符数组。
C = char(A1,...,An) 将数组 A1,...,An 转换为单个字符数组。转换为字符后,输入数组变为 C 中的行。char 函数会根据需要使用空格填充行。如果任何输入数组是空字符数组,则 C 中相应的行是一行空格。
输入数组 A1,...,An 不能是字符串数组、元胞数组或分类数组。A1,...,An 可以是不同的大小和形状。
C = char(D) 以 D 的 Format 属性指定的格式将日期时间、持续时间或日历持续时间数组转换为单个字符数组。输出在每行中包含一个日期或持续时间。
C = char(D,fmt) 以指定的格式(例如 'HH:mm:ss')表示日期或持续时间。
C = char(D,fmt,local) 以指定的区域设置(例如 'en_US')表示日期或持续时间。区域设置会影响用于表示字符向量(例如月和日期名称)的语言。
示例
将整数转换为字符
将数值数组转换为字符数组。
A = [77 65 84 76 65 66];
C = char(A)
C =
'MATLAB'
从 32 到 127 的整数对应于可打印的 ASCII 字符。但是,从 0 到 65535 的整数还对应于 Unicode® 字符。可以使用char函数将整数转换为对应的 Unicode 表示形式。例如,数字 8451 对应于摄氏度符号。可以使用 char 转换 8451。
C = char(8451)
C =
'℃'
将多个数组转换为字符数组
将多个数组转换为单个字符数组。输入数组不需要具有相同的形状。
A1 = [65 66; 67 68];
A2 = 'abcd';
C = char(A1,A2)
C = 3x4 char array
'AB '
'CD '
'abcd'
因为输入数组不包含相同的列数,所以char使用空白填充 A1 中的行。
whos C
Name Size Bytes Class Attributes
C 3x4 24 char
将字符串转换为字符向量
创建一个字符串标量。从 R2017a 开始,可以使用双引号创建字符串标量。MATLAB® 也可以显示带有双引号的字符串。
A = "Pythagoras"
A =
"Pythagoras"
使用 char 函数将 A 转换为字符向量。MATLAB 可以显示带有单引号的字符向量。
C = char(A)
C =
'Pythagoras'
将持续时间数组转换为字符数组
创建一个 duration 数组。
D = hours(23:25) + minutes(8) + seconds(1.2345)
D = 1x3 duration
23.134 hr 24.134 hr 25.134 hr
将 D 转换为字符数组。
C = char(D)
C = 3x9 char array
'23.134 hr'
'24.134 hr'
'25.134 hr'
C 是一个字符数组,其中的每一行表示一个持续时间值。指定 C 表示的持续时间值的格式。
C = char(D,'hh:mm')
C = 3x5 char array
'23:08'
'24:08'
'25:08'