2011年6月6日月曜日

文字列関数 (5)

文字列関数編、第五弾。今回は Split 関数について。
  
Sub ExampleStringFunctions5()
       Dim strText As String
       Dim arr()
       Dim lngIndex As Long
       Dim lngMinIndex As Long
       Dim lngMaxIndex As Long
       Dim strMsg As String 
       strText = "ABC|DE|FGHIJK|LMNO|PQR|STUVW|X|Z"
       '
       '文字列を"|"で分割
       arr = Split(strText, "|")
       '
       '配列のインデックスの最小値、最大値を求める
       lngMinIndex = LBound(arr)
       lngMaxIndex = UBound(arr)
       '
       strMsg ="" 
       For lngIndex = lngMinIndex To lngMaxIndex
              strMsg = strMsg + arr(lngIndex) + Chr$(13)
       Next lngIndex
       Msgbox(lngMinIndex & " " & lngMaxIndex & Chr$(13) & strMsg)
End Sub
  
上記マクロの実行の結果、下記メッセージボックスが表示される :
  
メッセージの一番上の行には配列の最小値、最大値が表示されている。
この配列の最小値、最大値を取得する関数 LBound 関数、UBound 関数
については後日に詳述するので、今回は割愛する。
  
Split 関数とは、文字列を指定された文字で分割して配列を作成する関数
である。書式は下記の通り :
  
      Split(Text [, Delimiter [, Limit]])
  
Text には対象となる文字列を指定する。
Delimiter には、Text 中で区切り記号となる文字を指定する。省略した
場合、区切り記号の文字はスペース文字と見なされる。
Limit には、取得する配列数を指定する。例えば、上のサンプルコード
の文字列の例の場合、Limit に 3 を指定すると、

      ABC、DE、FGHIJK|LMNO|PQR|STUVW|X|Z
  
の三つに分割される。即ち、分割を最後まで行わず、指定した数までしか
分割を行わない。省略した場合は、最後まで分割を行う。また、Limit
指定する場合は、Delimiter は省略できないので、要注意。

0 件のコメント:

コメントを投稿