指定された区切り文字を使用して、文字列を部分文字列の配列に分離します。
Array := StrSplit(String , Delimiters, OmitChars, MaxParts)
型:文字列
分割する文字列。
If blank or omitted, each character of the input string will be treated as a separate substring.
そうでない場合は、単一の文字列か文字列の配列(大文字と小文字を区別する)を指定し、それぞれの文字列が部分文字列間の境界を決定するのに使われる。区切り文字は部分文字列の一部とはみなされないので、返される配列に含まれることはない。また、入力文字列内の区切り文字の間に何もない場合、対応する配列要素は空白になる。
事例:","
は、カンマが出現するたびに文字列を分割する。同様に、[A_Space, A_Tab]
は、入力文字列中にスペースやタブが出現するたびに新しい配列要素を作成する。
型:文字列
If blank or omitted, no characters will be excluded. それ以外の場合は、各配列要素の先頭と末尾から除外する文字のリスト(大文字と小文字を区別)を指定する。例えば、OmitCharsが " `t"
の場合、すべての要素の最初と最後(途中は除く)からスペースとタブが取り除かれる。
Delimitersが空白の場合、OmitCharsは配列から除外すべき文字を示す。
型:整数
If omitted, it defaults to -1, which means "no limit". そうでない場合は、返す部分文字列の最大数を指定する。0でない場合、文字列は最大MaxParts-1回分割され、文字列の残りが最後の部分文字列として返される(先頭または末尾のOmitCharsを除く)。
型:配列
この関数は、指定された文字列の部分文字列を含む配列を返す。
スペースやタブなどの空白文字は、DelimitersまたはOmitCharsパラメータにそれらの文字が含まれていない限り保持されます。スペースやタブは、Trimを使うことで変数の両端から切り取ることができる。事例:Var := Trim(Var)
標準的なCSV(カンマ区切り値)形式の文字列を分割するには、CSV処理が組み込まれている構文解析ループを使用する。
フィールドを分割する前に別の順序で並べるには、ソート機能を使用します。
部分文字列を永久にメモリに保存する必要がない場合は、構文解析ループを使用することを検討する。特にStringが非常に大きい場合は、大量のメモリを節約できる。事例:
Colors := "red,green,blue" Loop Parse, Colors, "," MsgBox "Color number " A_Index " is " A_LoopField
解析ループ、Sort、SplitPath、InStr、SubStr、StrLen、StrLower、StrUpper、StrReplace
TestString := "This is a test." word_array := StrSplit(TestString, A_Space, ".") ; Omits periods. MsgBox "The 4th word is " word_array[4]