StringTools[Split] - 文字列を、指定した文字の所で分割
StringTools[CaseSplit] - 文字列を大文字の所で分割
StringTools[LengthSplit] - 文字列を等長分割
StringTools[StringSplit] - 文字列を、指定した文字列の所で分割
|
使い方
|
|
Split( s, sep )
CaseSplit( s )
LengthSplit( s, len )
LengthSplit( s, len, pad = ch )
StringSplit( s, fstr )
|
|
パラメータ
|
|
s
|
-
|
string。分割する文字列
|
sep
|
-
|
(オプション) string。文字列 s を分割すべき箇所を示す文字の集合
|
len
|
-
|
posint。文字列 s を等長分割する際の分割長
|
ch
|
-
|
character。最後端の文字列を長さ len にパディングするときに用いる文字
|
fstr
|
-
|
string。文字列 s を分割すべき箇所を示す文字列
|
| |
|
|
説明
|
|
•
|
Split(s, sep) コマンドは、オプションで指定される sep に含まれる文字を区切り文字として、文字列 s を部分列に分割します。呼び出し列に sep の指定がない場合、s は空白文字のところで分割されます。戻り値は入力文字列 s の部分列のリスト。
|
•
|
Split(s) 形式の呼び出し列は、次の操作と等価になります。
|
•
|
オプションの sep パラメータに含まれる文字は(分割操作のための)「区切り文字」と呼ばれます。Split(s, sep) が返す部分列は、s の部分列で、区切り文字を含まない最大のもの全てとなります。
|
|
注意: 入力文字列内に連続した区切り文字がある場合、その隣り合わせた各対に対し、出力に空文字列が現れます。これらは取り去ることができます。
|
•
|
CaseSplit(s) コマンドは、大文字のところで文字列を分割します。文字列中の大文字が、それぞれ部分列の先頭となります。
|
•
|
LengthSplit コマンドは、文字列 s を長さ len の部分列に分割し、部分列の列を返します。 が len で割り切れる場合、各部分列の長さはぴったり len になります。割り切れない場合は、最後の部分列の長さが となります。
|
•
|
LengthSplit の呼び出しで pad オプションが指定されている場合は、最後の部分列が長さ len になるように、指定された文字でパディングされます。
|
•
|
len が 以上の場合は s が返されます。
|
|
注意: は と等価。
|
|
StringSplit( s, fstr ) コマンドは、文字列 s を文字列 fstr のところで分割します。これは RegSplit( fstr, s ) と同等ですが、StringSplit の方が計算効率がはるかに高いため、fstr が正規表現のメタキャラクタを含まない固定文字列の場合はこちらを推奨します。
|
|
|
互換性
|
|
•
|
StringTools[StringSplit] コマンドは Maple 15 より導入されました。
|
|
|
例
|
|
>
|
Split( "This is a test." );
|
| (5.1) |
>
|
Split( "This:is:a:test." );
|
| (5.2) |
>
|
Split( "This:is:a:test.", ":" );
|
| (5.3) |
>
|
L := Split( "This string has some extra \t\twhitespace \n in it." );
|
| (5.4) |
| (5.5) |
>
|
CaseSplit( "LinearAlgebra" );
|
| (5.6) |
>
|
LengthSplit( "abcdefgh", 2 );
|
| (5.7) |
>
|
LengthSplit( "abcdefgh", 3 );
|
| (5.8) |
>
|
LengthSplit( "abcdefgh", 4 );
|
| (5.9) |
>
|
LengthSplit( "abcdefgh", 3, ':-pad' = "0" );
|
| (5.10) |
>
|
StringSplit( "axbxc", "x" );
|
| (5.11) |
Split が指定された文字列の各文字を区切り文字とするのに対し、StringSplit は指定された文字列全体を区切り文字とします。
>
|
drseuss := "Think left and think right and think low and think high. Oh, the things you can think if only you try!":
|
>
|
StringSplit( drseuss, "think" );
|
| (5.12) |
>
|
Split( drseuss, "think" );
|
| (5.13) |
|
|