char

Символьный массив

Описание

A символьного массива является последовательностью символов, так же как числовой массив является последовательностью чисел. Типичным способом является хранение короткого фрагмента текста в виде строки символов в вектор символов.

Создание

Можно создать вектор символов с помощью одинарных кавычек.

C = 'Hello, world'
C =

    'Hello, world'

Если у вас есть массив различных типов данных, можно преобразовать его в символьный массив с помощью char функция, описанная ниже.

Описание

пример

C = char(A)преобразует вход массив, A, в символьный массив. Для образца, если A является строкой, "foo", c является символьный массив, 'foo'.

пример

C = char(A1,...,An) преобразует массивы A1,...,An в один символьный массив. После преобразования в символы входные массивы становятся строками в C. The char при необходимости строки заполнения функций с пустыми пространствами. Если любой входной массив является пустым символьным массивом, то соответствующая строка в C - строка пустых пространств.

Входные массивы A1,...,An не могут быть строковые массивы, массивы ячеек или категориальные массивы.

A1,...,An может быть различных размеров и форм.

пример

c = char(A, dateFmt), где A является datetime или duration array, применяет указанный формат, например "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 и соответствуют Юникоду® кодовые модули. Значения от 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'

Преобразуются отсутствующие значения, такие как NaN, NaT, и <undefined> категориальные значения, отображаются как <missing>.

Формат даты и локаль, заданные как отдельные векторы символов или строковые скаляры. Входные A должен иметь тип datetime, duration, или calendarDuration.

Если формат не задан, char использует значение в Format свойство A. Чтобы задать только локаль, используйте пустой массив в качестве заполнителя для формата, [].

Пример: 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". Для получения дополнительной информации смотрите свойство Format для datetime массивы.

  • duration форматы являются либо одинарными символами (y, d, h, m, или s) или одна из следующих комбинаций:

    • "dd:hh:mm:ss"

    • "hh:mm:ss"

    • "mm:ss"

    • "hh:mm"

    • Любое из вышеперечисленных, до девяти S символы для указания дробных вторых цифр, таких как "hh:mm:ss.SSSS"

  • calendarDuration форматы могут включать комбинации символов y, q, m, w, d, и t в порядке от самой большой до самого маленького модуля времени, такой как "ym". Для получения дополнительной информации о duration и calendarDuration Форматы см. в разделе Установка формата отображения даты и времени.

Локаль влияет на язык, используемый для представления определенных компонентов дат и времени, таких как имена месяцев. Допустимые значения:

  • "system", для определения локали системы.

  • Вектор символов в форме xx_YY, где xx является строчным двухбуквенным кодом ISO 639-1, который задает язык, и YY является заглавным кодом ISO 3166-1 альфа-2, который задает страну. Для примера значений смотрите аргумент имя-значение 'Locale' для datetime функция.

Выходные аргументы

расширить все

Выходной массив, возвращенный как символьный массив. Символьные массивы могут иметь любой размер, но их наиболее типичное использование для хранения фрагментов текста как векторы символов.

MATLAB® сохраняет все символы как символы Юникода, используя UTF-16 кодировку. Дополнительные сведения о Юникоде см. в разделе Юникод.

Примеры

свернуть все

Преобразуйте числовой массив в символьный массив.

A = [77 65 84 76 65 66];
C = char(A)
C = 
'MATLAB'

Целые числа от 32 до 127 соответствуют печатаемым символам ASCII. Однако целые числа от 0 до 65535 также соответствуют символам Unicode ®. Можно преобразовать целые числа в соответствующие представления Юникода с помощью char функция.

Для примера число 8451 соответствует символу для степеней Цельсия. Преобразовать 8451 используя char.

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"

Преобразование A в вектор символов с использованием char функция. MATLAB отображает векторы символов с одинарными кавычками.

C = char(A)
C = 
'Pythagoras'

Преобразуйте массив длительности в char. Для получения дополнительной информации, связанной с преобразованием из распространенных типов данных в char см. Преобразование между массивами Datetime, числами и текстом

Создайте 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 массив к числовому типу будет формировать массив с соответствующими значениями кода Юникода. Текст в строках не преобразуется таким образом. Преобразование строки, которая не представляет ни одного числового значения в double произведет NaN результат. Для получения дополнительной информации смотрите Юникод и значения ASCII.

Расширенные возможности

.
Представлено до R2006a