# strsplit

split a string into a vector of strings

## Calling Sequence

                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)

## Arguments

str

  a character string to split.

ind

  a vector of strictly increasing indices in the interval `[1 length(str)-1]`.

v

  the resulting column vector of string (dimension >`size(ind,'*')+1`).

matched_separators

  a column vector of the matched separators.

matrix_of_strings

  a matrix of strings to search in `str`.

regexp_pattern

  a regular expression pattern.

limit

  maximum of limit elements.

## Description

`v= strsplit(str, ind)` splits the string `str` into a vector of strings at the points given by the indices in `ind` (after each characters pointed to by the index in `ind`).

`strsplit(str)` returns same thing as `strsplit(str,1:length(str)-1).`

`strsplit(str, regexp_pattern, limit)` returns an column vector of strings, each of which is a substring of `str` formed by splitting it on boundaries formed by the case-sensitive regular expression pattern.

If there are `n` occurrences of pattern, the returned array will contain `n+1` items.

For example, if there is no occurrence of pattern, an array with only one element will be returned. Of course, this is also true if `str` is empty.

If `limit` is set, the returned array will contain a maximum of limit elements with the last element containing the whole rest of string.

`strsplit(str, matrix_of_strings, limit)` splits `str` on any of elements. It allows to split on different separators for users without regexp knowledge.

If `strsplit()` is called with a second output argument, the column vector of the matched separators is returned.

## Examples

    S='strsplit splits a string into a vector of strings';
    strsplit(S,[15 25 30])
    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)

## See Also

- part
- strcat
- tokens
- regexp