OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:520
区分:プログラム  |  分類:VB  |  最終更新日:2014/06/20
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【VB6/VBA】文字列を指定のセパレータで分割して配列にする
関連タグ:vb6, vba, 配列
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 36,765
VB6関連技術まとめ > 【VB6/VBA】文字列を指定のセパレータで分割して配列にする

VB6/VBA で文字列を指定の区切り文字(セパレータ)で分割し、配列に変換するには、Split() 関数を使用します。

 

関数説明
Split ( 文字列 [[[, 区切り文字], 配列数], 比較モード] )

文字列を区切り文字(セパレータ)で分割し、分割された文字列を配列にして返します。

 

Split() 関数は分割元となる文字列と区切り文字(セパレータ)を指定することで、文字列を一次元の配列に変換することができます。また、この関数は、配列数や比較モードを指定することで、区切り文字の大文字/小文字、半角/全角を区別しない分割や、返る配列の数を指定することもできます。

 

【例1】

Sub Sample()
    Dim strText As String
    strText = "aaa,bbb,ccc"

    ' カンマ区切りで分割して配列にします
    Dim strArray() As String
    strArray = Split(strText, ",")

    ' 配列をループして確認します
    Dim i As Integer
    For i = LBound(strArry) To UBound(strArry)
        Debug.Print strArry(i)
    Next
End Sub

 

上記例では、{"aaa","bbb","ccc"} の一次元配列が strArray 変数に格納されます。

 

【例2】

Sub Sample2()
    Dim strText As String
    strText = "12ab34AB56AB78"

    ' 「ab」を区切り文字とし、比較モードにvbTextCompareをしてします
    Dim strArray() As String
    strArray = Split(strText, "ab", , vbTextCompare)

    ' 配列をループして確認します
    Dim i As Integer
    For i = LBound(strArry) To UBound(strArry)
        Debug.Print strArry(i)
    Next
End Sub

 

上記例では、比較モードに vbTextCompare を指定しているので、区切り文字の「ab」は大文字/小文字、半角/全角を問わず区切り文字として扱われ、結果、{"12","34","56","78"} の一次元配列が strArray 変数に格納されます。

関連記事
外部リンク
外部リンクはありません。
- 記事検索 -