exponenta event banner

случайная работа

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

Описание

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

Создание

Можно создать вектор символов, используя одинарные кавычки.

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), где A является datetime или duration массив, применяет указанный формат, например, "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". Дополнительные сведения см. в свойстве «Формат» для 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 alpha-2, указывающий страну. Примеры значений см. в аргументе имя-значение языкового стандарта для datetime функция.

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

развернуть все

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

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

Примеры

свернуть все

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

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

Целые числа от 32 до 127 соответствуют печатаемым символам ASCII. Однако целые числа от 0 до 65535 также соответствуют символам Юникода ®. Можно преобразовать целые числа в соответствующие им представления Юникода с помощью 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'

Совет

  • Преобразование a char массив числового типа создает массив соответствующих кодовых значений Юникода. Текст в строках не преобразуется таким образом. Преобразование строки, не представляющей одно числовое значение, в double произведет NaN результат. Дополнительные сведения см. в разделах Значения Юникод и ASCII.

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

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