# strsplit

деление строки на вектор строк

## Последовательность вызова

                v = strsplit(str,ind)
                [v, matched_separators] = strsplit(str)
                [v, matched_separators] = strsplit(str, matrix_of_strings, limit)
                [v, matched_separators] = strsplit(str, regexp_pattern, limit)

## Аргументы

str

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

ind

  вектор индексов в строго возрастающем порядке в интервале `[1 length(str)-1]`.

v

  результирующий вектор-столбец строк (размер >`size(ind,'*')+1`).

matched_separators

  вектор-столбец совпавших разделителей.

matrix_of_strings

  матрица строк, которые ищутся в `str`.

regexp_pattern

  шаблон регулярного выражения.

limit

  максимальный предел элементов.

## Описание

`v= strsplit(str, ind)` делит строку `str` на вектор строк в местах, указанных с помощью индексов `ind` (после каждого символа, на который указывает индекс в `ind`).

`strsplit(str)` возвращает то же, что и `strsplit(str,1:length(str)-1).`

`strsplit(str, regexp_pattern, limit)` возвращает вектор строк, каждая из которых является подстрокой из `str`, сформированной делением `str` на интервалы, сформированные шаблоном регулярного выражения, чувствительного к регистру.

Если есть `n` совпадений с шаблоном, то возвращённый массив будет содержать `n+1` элементов.

Например, если нет совпадений с шаблоном, то будет возвращён массив только с одним элементом. Конечно это так же будет и в случае, когда `str` пустая.

Если установлен предел `limit`, то возвращённый массив будет содержать максимальное разрешённое количество элементов с последним элементом, содержащим весь остаток строки.

`strsplit(str, matrix_of_strings, limit)` делит `str` любое количество элементов. Это позволяет пользователям, не знающим регулярные выражения, делить по разным разделителям.

Если вызывается `strsplit()` со вторым выходным аргументом, то возвращается вектор-столбец совпавших разделителей.

## Примеры

    S='strsplit делит строку на вектор строк';
    strsplit(S,[15 21 25])
    ind=strindex(S,' ')

    [r_1, r_2] = strsplit("abcd")

    [r_1, r_2] = strsplit("root:x:0:0:root:/root:/bin/bash",":",5)

    [r_1, r_2] = strsplit("abc,def:ijk,:lmo","/:|,/")

    [r_1, r_2] = strsplit("abc,def:ijk,:lmo",[":";","])

    strsplit("abcdef2ghijkl3mnopqr6stuvw7xyz","/\d+/")

    [r_1, r_2] = strsplit("abcdef2ghijkl3mnopqr6stuvw7xyz","/\d+/",2)

## Смотрите также

- part
- strcat
- tokens
- regexp