java.utilパッケージのStringTokenizerクラス

概要

StringTokenizerクラスは、Stringオブジェクトの文字列を特定の区切り文字(Delimiter)で複数のトークン(Token)文字列に分割する。区切り文字には、特殊文字だけでなく、空白(space)、1文字、または複数文字の文字列も使用できる。StringTokenizerクラスはEnumerationインターフェースを利用するため、分割された文字列は列挙形式で存在する。

StringTokenizerコンストラクタ

コンストラクタ 説明
StringTokenizer(String str) デフォルトコンストラクタ。
StringTokenizer(String str, String delim) 区切り文字(delim)を引数として受け取るコンストラクタ。
StringTokenizer(String str, String delim, boolean returnDelims) 区切り文字(delim)と区切り文字を返すかどうかを引数として受け取るコンストラクタ。

StringTokenizerメソッド

メソッド 説明
int countTokens() 分割されたトークン数を返す。
boolean hasMoreElements() 返す次の要素があればtrue、なければfalseを返す。hasMoreTokens()と同じである。
boolean hasMoreTokens() 返す次のトークンがあればtrue、なければfalseを返す。
Object nextElement() 次のトークンを返す。Objectを返すが、実際はStringである。
String nextToken() 次のトークンを返す。以前のトークンは取り除かれる。
String nextToken(String delim) 区切り文字(delim)を変更した後、次のトークンを返す。

StringTokenizerの例

例 1)

package com.devkuma.tutorial.java.util;

import java.util.StringTokenizer;

public class StringTokenizerClass {

    public static void main(String[] args) {

        String str = "java,c,c++,c#,scala,xml,javascript";
        StringTokenizer st = new StringTokenizer(str, ",");

        while (st.hasMoreTokens()) {
            String lang = st.nextToken();
            System.out.println(lang);
        }
    }
}

実行結果:

java
c
c++
c#
scala
xml
javascript

例 2)

package com.devkuma.tutorial.javautil;

import java.util.StringTokenizer;

public class StringTokenizerClass2 {

    public static void main(String[] args) {

        String str = "java,c,c++,c#,scala,xml,javascript";
        StringTokenizer st = new StringTokenizer(str, ",", true);

        while (st.hasMoreTokens()) {
            String lang = st.nextToken();
            System.out.println(lang);
        }
    }
}

実行結果:

java
,
c
,
c++
,
c#
,
scala
,
xml
,
javascript