Когда вы создаете символьные массивы из векторов символов, все векторы должны иметь ту же длину. Это часто означает, что необходимо заполнить пробелы в конце векторов символов, чтобы компенсировать их длину. Однако другой тип массива MATLAB®, массива ячеек, может содержать различные размеры и типы данных в массиве без дополнения. Массив ячеек из символьных векторов является массивом ячеек, где каждая ячейка содержит вектор символов. Массивы ячеек из символьных векторов обеспечивают гибкий способ сохранить векторы символов переменных длин.
В то время как фраза "массив ячеек строк" часто использовалась, чтобы описать такие массивы, фраза не точна, потому что такой массив ячеек содержит векторы символов, не строки. Начиная в R2016b, MATLAB обеспечивает строковые массивы как другой средние значения хранения текста. Если вы создаете переменные, которые имеют тип данных string
, хранят их в строковых массивах, не массивах ячеек. Для получения дополнительной информации смотрите, Представляют текст с Символьными массивами и Строковыми массивами.
Преобразуйте символьный массив в массив ячеек из символьных векторов. data
дополнен пробелами так, чтобы каждая строка имела равное количество символов. Используйте cellstr
, чтобы преобразовать символьный массив.
data = ['Allison Jones';'Development ';'Phoenix ']; celldata = cellstr(data)
celldata = 3×1 cell array {'Allison Jones'} {'Development' } {'Phoenix' }
data
является 3
-by-13
символьный массив, в то время как celldata
является 3
-by-1
массив ячеек из символьных векторов. cellstr
также разделяет пробелы в концах строк data
.
Функция iscellstr
определяет, является ли входной параметр массивом ячеек из символьных векторов. Это возвращает логический 1
(true
) в случае celldata
:
iscellstr(celldata)
ans = logical 1
Используйте char
, чтобы преобразовать назад в заполненный символьный массив.
chr = char(celldata)
chr = 3×13 char array 'Allison Jones' 'Development ' 'Phoenix '
Для получения дополнительной информации о массивах ячеек см. Доступ к данным в Массиве ячеек.
Эта таблица описывает функции MATLAB для работы с массивами ячеек из символьных векторов.
Функция |
Описание |
---|---|
Преобразуйте символьный массив в массив ячеек из символьных векторов. | |
Преобразуйте массив ячеек из символьных векторов в символьный массив. | |
При запуске в R2016b преобразуйте массив ячеек из символьных векторов в массив строк. | |
Удалите конечные пробелы из символьного массива. | |
Возвратите | |
Сортировка элементов в порядке возрастания или убывания. | |
Объединяйте символьные массивы или массивы ячеек символьных массивов. | |
Сравните символьные массивы или массивы ячеек символьных массивов. |
Можно также использовать следующие функции set
с массивами ячеек из символьных векторов.