StringTokenizerでString文字列の分割

2009/03/04 15:18Update
TAGS: Java | StringTokenizer | 文字列 | String | 分割 | トークン

String文字列を分割するには、String.splitやjava regexクラスを利用するほか、StringTokenizerというクラスがあります。StringTokenizerは文字列をトークンに分割できます。

StringTokenizer概要


java.util.StringTokenizer
コンストラクタ
◇ StringTokenizer(String str)
◇ StringTokenizer(String str, String delim)
◇ StringTokenizer(String str, String delim, boolean returnDelims)

パラメータ str:構文解析される文字列
パラメータ delim:分割する区切り文字列。
パラメータ returnDelims:区切り文字をトークンに含めるかどうかを示すフラグ


主なメソッド
◇ int     countTokens()
◇ String     nextToken()
◇ boolean     hasMoreTokens()


StringTokenizerの使用例


TestStringTokenizer.java
import java.util.StringTokenizer;

public class TestStringTokenizer {

    /**
     * StringTokenizerで文字列の分割
     * StringTokenizerの使用例。
     */
    public static void main(String[] args) {
        StringTokenizer tokenizer = new StringTokenizer("Hello World");
        int count = tokenizer.countTokens();
        System.out.println("******************");
        System.out.println(count);
        while(tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
        
        System.out.println("******************");
        tokenizer = new StringTokenizer("Hello,World,String Tokenizor,", ",");
        count = tokenizer.countTokens();
        System.out.println(count);
        while(tokenizer.hasMoreElements()) {//hasMoreTokens メソッドと同じ値を返します。
            System.out.println(tokenizer.nextElement());//nextToken メソッドと同じ値を返します。
        }
        
        System.out.println("******************");
        tokenizer = new StringTokenizer("Hello.World.String.Tokenizor", ".", true);
        count = tokenizer.countTokens();
        System.out.println(count);
        while(tokenizer.hasMoreElements()) {
            System.out.println(tokenizer.nextElement());
        }
    }

}


実行結果:
******************
2
Hello
World
******************
3
Hello
World
String Tokenizor
******************
7
Hello
.
World
.
String
.
Tokenizor

参考資料


java.util.StringTokenizer API仕様

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation