# 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)` は, `ind` でインデックスが指定された 点(indのインデックスが指す各文字の後)で, 文字列を文字列のベクトルに分割します.

`strsplit(str)` は, `strsplit(str,1:length(str)-1).`と同じ文字列を返します.

`strsplit(str, regexp_pattern, limit)` は 文字列の列ベクトルを返します. その各々は,大文字小文字を区別する正規表現により構築された境界で 分割されたstr の部分文字列です.

パターンがn回現れる場合, 返される配列はn+1個の要素を有します.

例えば, パターンが1回も存在しなかった場合, 1要素のみの配列が返されます. もちろん,これはstrが空の場合も同じです.

limitが設定された場合,返される配列には 最大limit個の要素が含まれ, その最後の要素には文字列の残り全体が含まれます.

`strsplit(str, matrix_of_strings, limit)` , str は 要素に分割されます.これにより, 正規表現を知らないユーザが異なるセパレータで分割することが できるようになります.

`strsplit()` が第2の出力引数を指定してコールされた場合, 一致したセパレータの列ベクトルが返されます.

## 例

    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)

## 参照

- strcat
- tokens
- regexp