Spec-Zone.ru › Octave 9

Далее: Обработка данных в массивах ячеек, Предыдущий: Индексирование массивов ячеек, Вверх: Массивы ячеек [Оглавление][Индекс]

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 можно использовать для проверки, является ли объект массивом ячеек строк.

: tf = iscellstr (cell) ¶

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

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

Далее: Обработка данных в массивах ячеек, Предыдущий: Индексирование массивов ячеек, Вверх: Массивы ячеек [Оглавление][Индекс]

© 1996–2023 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/v9.2.0/Cell-Arrays-of-Strings.html

Spec-Zone.ru

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