Spec-Zone.ru › Octave 7

6.3.4 Массивы ячеек строк

Одно из распространённых применений массивов ячеек — хранение нескольких строк в одной переменной. Также возможно хранить несколько строк в матрице символов, где каждая строка является строкой. Однако это приводит к проблеме, что все строки должны иметь одинаковую длину. Поэтому рекомендуется использовать массивы ячеек для хранения нескольких строк. В случаях, когда для операции требуется представление в виде матрицы символов, существуют несколько функций, которые преобразуют массив ячеек строк в матрицу символов и обратно. char и strvcat преобразуют массивы ячеек в матрицу символов (см. Конкатенация строк), а функция cellstr преобразует матрицу символов в массив ячеек строк:

a = ["hello"; "world"];
c = cellstr (a)
     ⇒ c =
         {
           [1,1] = hello
           [2,1] = world
         }
: cstr = cellstr (strmat) ¶

Создать новый объект массива ячеек из элементов массива строк strmat.

Каждая строка strmat становится элементом cstr. Любые хвостовые пробелы в строке удаляются перед преобразованием.

Для преобразования обратно из cellstr в матрицу символов используйте char.

См. также: cell, char.

Ещё одно преимущество использования массивов ячеек для хранения нескольких строк заключается в том, что большинство функций для работы со строками, включённых в Octave, поддерживают это представление. Например, можно сравнить одну строку со многими другими, используя функцию strcmp. Если один из аргументов этой функции является строкой, а другой — массивом ячеек строк, каждый элемент массива ячеек будет сравниваться с аргументом-строкой:

c = {"hello", "world"};
strcmp ("hello", c)
     ⇒ ans =
        1   0

Следующие функции для работы со строками поддерживают массивы ячеек строк: char, strvcat, strcat (см. Конкатенация строк), strcmp, strncmp, strcmpi, strncmpi (см. Поиск в строках), str2double, deblank, strtrim, strtrunc, strfind, strmatch, , regexp, regexpi (см. Операции со строками) и str2double (см. Преобразование строк).

Функция iscellstr может использоваться для проверки, является ли объект массивом ячеек строк.

: iscellstr (cell) ¶

Возвращает true, если каждый элемент массива ячеек cell является строкой символов.

См. также: ischar, isstring.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v7.2.0/Cell-Arrays-of-Strings.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API