string

Описание

Начиная в R2016b, можно представлять текст с помощью строковых массивов вместо символьных массивов. Каждый элемент массива строк хранит последовательность символов. Последовательности могут иметь различные длины без дополнения, такие как "yes" и "no". Массив строк, который имеет только один элемент, также называется скаляром строки.

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

Создание

Можно создать строку путем включения части текста в двойных кавычках. Двойные кавычки были введены в R2017a.

str = "Hello, world"
str = 
"Hello, world"

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

str = ["Mercury","Gemini","Apollo";
       "Skylab","Skylab B","ISS"]
str = 2x3 string array
    "Mercury"    "Gemini"      "Apollo"
    "Skylab"     "Skylab B"    "ISS"   

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

Описание

пример

str = string(A) преобразует входной массив в массив строк.

пример

str = string(D) преобразует datetime, длительность или календарный массив длительности в массив строк в формате, заданном Format свойство D. Выход содержит одну дату или длительность в каждой строке.

пример

str = string(D,fmt) представляет даты или длительность в заданном формате, такую как 'HH:mm:ss'.

str = string(D,fmt,locale) представляет даты или длительность в заданной локали, такую как 'en_US'. Локаль влияет на язык, используемый, чтобы представлять строки, такие как дневные имена и месяц.

Входные параметры

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

Входной массив. Тип данных A определяет как string преобразует A к массиву строк.

  • Если A вектор символов, затем string преобразует A к скаляру строки. Выход str и вход A имейте те же символы в том же порядке.

  • Если A массив ячеек или категориальный массив, затем string преобразует каждый элемент в A к строковому элементу в str.

  • Если A числовой массив, затем string преобразует каждый номер в строковый элемент в str.

    В отличие от char функция, string не обрабатывает числа как кодовые точки Unicode® или ASCII.

  • Если A логический массив, затем string преобразует каждое значение в любой "false" или "true".

  • Если A [], затем string возвращает 0- 0 массив строк.

Введите дату и время, заданную как массив длительности или datetime.

Типы данных: datetime | duration | calendarDuration

Формат даты и времени, заданный как [], вектор символов или скаляр строки. Если вы задаете [], затем string представляет вход D в формате, заданном Format свойство D.

Поддерживаемые форматы зависят от типа данных D.

  • datetime форматы могут включать комбинации модулей и разделителей, таких как 'yyyy-MMM-dd HH:mm:ss.SSS'. Для получения дополнительной информации смотрите Format свойство для массивов datetime.

  • duration форматы являются любой отдельными символами ('y'DHM, или 's') или одна из этих комбинаций:

    • 'dd:hh:mm:ss'

    • 'hh:mm:ss'

    • 'mm:ss'

    • 'hh:mm'

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

  • calendarDuration форматы могут включать комбинации символов 'y'QMWD, и 't' в порядке от самого большого до самого маленького модуля времени, такого как 'ym'.

Для получения дополнительной информации о duration и calendarDuration форматы, смотрите Формат отображения Даты и времени Набора.

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

locale может быть:

  • 'system', задавать вашу системную локаль.

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

locale входной параметр может какой-либо иметь ценности, принятые 'Locale' аргумент пары "имя-значение" для datetime функция.

Пример: 'en_US'

Пример: 'ja_JP'

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

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

Выходной массив, возвращенный как массив строк.

MATLAB® хранит все символы как символы Unicode с помощью кодирования UTF-16. Для получения дополнительной информации о Unicode смотрите Unicode.

Примеры

свернуть все

Чтобы найти уникальные слова в строке, разделите его на пробелах и вызовите unique функция.

Во-первых, создайте скаляр строки.

str = "A horse! A horse! My kingdom for a horse!"
str = 
"A horse! A horse! My kingdom for a horse!"

Удалите восклицательный знак.

str = erase(str,"!")
str = 
"A horse A horse My kingdom for a horse"

Преобразуйте все буквы в str к символам нижнего регистра.

str = lower(str)
str = 
"a horse a horse my kingdom for a horse"

Разделите str на пробелах с помощью split функция. split отбрасывает пробелы и возвращает результат как массив строк.

str = split(str)
str = 9x1 string array
    "a"
    "horse"
    "a"
    "horse"
    "my"
    "kingdom"
    "for"
    "a"
    "horse"

Найдите уникальные слова в str использование unique функция.

str = unique(str)
str = 5x1 string array
    "a"
    "for"
    "horse"
    "kingdom"
    "my"

A = 'Four score and seven years ago'
A = 
'Four score and seven years ago'
str = string(A)
str = 
"Four score and seven years ago"

str содержит те же символы как A. Но в то время как A вектор символов, str скаляр строки.

c = size(A)
c = 1×2

     1    30

s = size(str)
s = 1×2

     1     1

Возвратить количество символов в str, используйте strlength функция.

n = strlength(str)
n = 30

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

A = {'Mercury','Gemini','Apollo';...
     'Skylab','Skylab B','ISS'}
A = 2x3 cell array
    {'Mercury'}    {'Gemini'  }    {'Apollo'}
    {'Skylab' }    {'Skylab B'}    {'ISS'   }

str = string(A)
str = 2x3 string array
    "Mercury"    "Gemini"      "Apollo"
    "Skylab"     "Skylab B"    "ISS"   

Получить доступ к второму элементу в первой строке str, индексируйте использование сглаженные круглые скобки. Можно получить доступ к строкам в массиве строк с индексированием матриц, как вы получили бы доступ к элементам числового массива.

str(1,2)
ans = 
"Gemini"

Доступ к третьему столбцу.

str(:,3)
ans = 2x1 string array
    "Apollo"
    "ISS"

A = [77 65 84 76 65 66]
A = 1×6

    77    65    84    76    65    66

str = string(A)
str = 1x6 string array
    "77"    "65"    "84"    "76"    "65"    "66"

str массив строк, в котором каждый элемент представляет номер от A. Обратите внимание на то, что string не обрабатывает числа как ASCII, или Unicode® оценивает путь который char функция делает.

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

str = ["256","3.1416","8.9e-3"]
str = 1x3 string array
    "256"    "3.1416"    "8.9e-3"

X = double(str)
X = 1×3

  256.0000    3.1416    0.0089

Когда входной параметр является массивом строк, double функционируйте обрабатывает каждый элемент как представление значения с плавающей точкой. Однако, когда вход является символьным массивом, double вместо этого преобразует каждый символ в номер, представляющий его значение Unicode®.

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

Y = str2double(str)
Y = 1×3

  256.0000    3.1416    0.0089

C = '2.7183';
Z = str2double(C)
Z = 2.7183

Создайте duration массив.

D = hours(23:25) + minutes(8) + seconds(1.2345)
D = 1x3 duration array
   23.134 hr   24.134 hr   25.134 hr

Преобразуйте D к массиву строк.

str = string(D)
str = 1x3 string array
    "23.134 hr"    "24.134 hr"    "25.134 hr"

str массив строк с одним значением длительности на элемент. str одного размера с D.

Задайте формат значений длительности в str.

str = string(D,'hh:mm')
str = 1x3 string array
    "23:08"    "24:08"    "25:08"

Советы

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

  • Если входной параметр является объектом, то он должен принадлежать классу, который реализует string метод, чтобы представлять объект как строку.

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

Введенный в R2017b