Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

char

字符数组

说明

字符数组是一个字符序列,就像数值数组是一个数字序列一样。它的典型用途是将一小段文本作为一行字符存储在字符向量中。

创建对象

您可以使用单引号创建字符向量。

C = 'Hello, world'
C =

    'Hello, world'

如果您有一个其他数据类型的数组,则可以使用下面介绍的 char 函数将其转换为字符数组。

说明

示例

C = char(A) 将输入数组 A 转换为字符数组。例如,如果 A 是字符串 "foo",则 c 是字符数组 'foo'

示例

C = char(A1,...,An) 将数组 A1,...,An 转换为单个字符数组。转换为字符后,输入数组变为 C 中的行。char 函数会根据需要使用空格填充行。如果任何输入数组是空字符数组,则 C 中相应的行是一行空格。

输入数组 A1,...,An 不能是字符串数组、元胞数组或分类数组。

A1,...,An 可以是不同的大小和形状。

示例

c = char(A, dateFmt)(其中 Adatetimeduration 数组)应用指定的格式,如 "HH:mm:ss"。此外,您可以将区域设置指定为单独的输入,例如 "en_US"

输入参数

全部展开

输入数组。A 的数据类型决定 char 如何将 A 转换为字符数组。

输入类型

转换说明

示例输入

示例输出

string

输入数组的每个元素都成为新字符数组中的一行,并会根据需要自动填充空格。

如果 A 为空,即 "",则输出是一个空字符数组,即 0×0 字符向量。

1×1 string array
    "foo"

1×3 char array
    'foo'
2×1 string array
    "foo"
    "bar"
2×3 char array
    'foo'
    'bar'

数值数组

char 将数字转换为字符。有效数值范围从 0 到 65535,并且对应于 Unicode® 代码单元。值 0 到 127 还对应于 7 位 ASCII 字符。char 函数:

  • 将非整数值向零舍入。

  • 将小于 0 的值视为 0。

  • 将大于 65535 的值视为 65535。

[102 111 111 33 ]

'foo!'

字符向量元胞数组

如果输入是字符向量元胞数组或 categorical 数组,则 char 将输入转换为字符数组。输入数组中每个元素的每行都成为新字符数组中的一行,并会根据需要自动填充空格。

{'foo','bar'}

2×3 char array

    'foo'
    'bar'

分类数组

1x3 categorical array
    red    green    blue
3×5 char array

    'red  '
    'green'
    'blue '

datetime 数组

要指定格式和区域设置,请参阅 dateFmt

datetime(2020,6,1)

'01-Jun-2020'

转换的缺失值,如 NaNNaT<undefined> 分类值,显示为 <missing>

日期格式和区域设置,指定为单独字符向量或字符串标量。A 输入必须是 datetimedurationcalendarDuration 类型。

如果不指定格式,char 将使用 AFormat 属性中的值。要仅指定区域设置,请使用空数组作为格式的占位符,即 []

示例: char(A, "yyyy-MM-dd")

示例: char(A, "yyyy-MM-dd","en_US")

示例: char(A, [],"en_US")

支持的格式取决于 A 的数据类型。

  • datetime 格式可以包括单位和分隔符的组合,例如 "yyyy-MMM-dd HH:mm:ss.SSS"。有关详细信息,请参阅 datetime 数组的 Format 属性。

  • duration 格式为单个字符(ydhms)或者以下组合之一:

    • "dd:hh:mm:ss"

    • "hh:mm:ss"

    • "mm:ss"

    • "hh:mm"

    • 以上任意项,用最多九个 S 字符指示秒小数位,例如 "hh:mm:ss.SSSS"

  • calendarDuration 格式可以按从最大到最小时间单位的顺序包括字符 yqmwdt 的组合,例如 "ym"。有关 durationcalendarDuration 格式的详细信息,请参阅设置日期和时间显示格式

区域设置影响用于表示日期和时间的某些分量(例如月份名称)的语言。有效值包括:

  • "system",用于指定您的系统区域设置。

  • xx_YY 形式的字符向量,其中 xx 是用于指定语言的小写 ISO 639-1 双字母代码,YY 是用于指定国家/地区的大写 ISO 3166-1 alpha-2 代码。有关示例值,请参阅 datetime 函数的 Locale 名称-值参数。

输出参数

全部展开

输出数组,以字符数组的形式返回。字符数组可以具有任意大小,但最典型的用途是以字符向量的形式存储文本片段。

MATLAB® 采用 UTF-16 编码方式将所有字符存储为 Unicode 字符。有关 Unicode 的详细信息,请参阅 Unicode

示例

全部折叠

将数值数组转换为字符数组。

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'

从持续时间数组转换为 char。有关从常见数据类型转换为 char 的详细信息,请参阅在日期时间数组、数值和文本之间转换

创建一个 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'

提示

  • char 数组转换为数值类型将生成包含对应 Unicode 代码值的数组。字符串中的文本不以这种方式转换。将不表示单个数值的字符串转换为 double 将产生 NaN 结果。有关详细信息,请参阅Unicode 和 ASCII 值

扩展功能

在 R2006a 之前推出