コンテンツにスキップ

split_to

Category: 変数・呼び出し

書式

(split_to、接頭辞、文字列)
(split_to、接頭辞、文字列、区切り文字)
(split_to、接頭辞、文字列、区切り文字、最大個数)
(split_to、接頭辞、文字列、区切り文字、最大個数、空要素を残す)

引数

引数 説明
接頭辞 結果を入れる変数の名前の先頭部分
文字列 分割する文字列
区切り文字 区切りにする文字を並べたもの。1 文字ずつがそれぞれ区切りになる
最大個数 分割後の要素数の上限(省略または 0 で無制限)。上限に達したら、残りは 1 つの要素にまとまる
空要素を残す 0 以外なら、区切りが連続してできた空の要素も残す(既定は残さない)

戻り値

空文字列。結果は変数 接頭辞0、接頭辞1…(数字は半角)に入り、個数は変数 接頭辞の数 に入ります。

解説

ssu の split と同じように分割し、結果を (S0) (S1)… ではなく、指定した接頭辞の変数に入れます。(S0) や (Sの数) は変わらないので、ほかの場所の split や SAORI の結果を上書きしません。

  • 分割のしかた(区切り文字・最大個数・空要素)は split と同じです。区切り文字を省略した場合や空の場合は、1 文字ずつに分けます。
  • 前回の split_to で同じ接頭辞に入れた要素のほうが多かった場合、余った 接頭辞n は削除されます(接頭辞の数 の値を見て消します)。
  • 変数は値の計算をせずに代入されます。空の要素も空の変数として入ります。
  • 接頭辞は空にできません。S A R H C(全角も)の 1 文字は、S0 などが変数ではなく引数・結果の値として扱われるため使えません(エラーログを出して何もしません)。
  • 引数は通常の内蔵関数と同じく、先に () を展開してから分けられます。そのため、呼び出しに使った引数の区切りと同じ文字は、区切り文字に指定できません(、 で区切って呼べば、, は区切り文字に使えます)。
  • 先頭が数字の引数は、$SAORI引数の計算に従って計算されます。(split_to、k、1-2-3、-) は 1-2-3 が先に -4 になってから分割され、(k0) は 4 になります。数字で始まる文字列を分けるときは $SAORI引数の計算=無効 にしてください(ssu の split も同じです)。

ローカルのみの関数です。外部からのイベントでは実行されず、空文字列になります。

Mc201-5以降。

使用例

(split_to、x、a-b-c、-)(x0)/(x1)/(x2)/(xの数)
(split_to、x、p-q、-)(xの数)/(変数「x2」の存在)/(x1)
(split_to、w、a--b、-、0、1)(wの数)[(w1)]
(split_to、z、あいう)(zの数)(z2)

1 行目は a/b/c/3、2 行目は 2/0/q(前回の x2 は消える)、3 行目は 3[]、4 行目は 3う になります。

(S0) は変わりません。

(split、m-n、-)(split_to、y、u|v、|)(S0)(y1)(Sの数)

2mv2 になります(先頭の 2 は split の戻り値)。

要素を順に取り出すには、for のカウンタと組み合わせます。

(split_to、項目、りんご|みかん|ぶどう、|)
(for、0、(calc、(項目の数)-1)、(項目(C0))/)

2 行目は りんご/みかん/ぶどう/ になります。

関連項目