#navi(開発メモ/Java/基礎);
*StringTokenizerクラス [#mb8c0c73]
文字列をトークン(文字列の構成要素)に分解するために使います。~
区切り文字として使われる文字を指定することが可能です。~


StringTokenizerのコンストラクタ
#codeprettify{{
StringTokenizer(String str)
StringTokenizer(String str, String delimiters)
StringTokenizer(String str, String delimiters, boolean delimitersAreTokens)
}}


|引数|説明|h
|str|分解対象となる文字列|
|delimiters|トークン区切り文字|
|delimitersAreTokens|true:区切り文字を返す&br;false:区切り文字を返さない|


StrintTokenizerクラスはEnumerationインターフェイスが実装されています~。
こちらはStringTokenizerクラスを使った例。~
例2と比較してください。~

''例1''
#codeprettify{{
import java.util.*;

class StringTokenizerDemo{
    public static void main(String args[]){
        //この文字列を分解します
        String str ="123/45.6/-11.2/41/-90.1/100/99.99/-50/-20";

        //"/"を区切り文字としてstrを区切る StringTokenizer型のオブジェクトstを生成
        StringTokenizer st = new StringTokenizer(str,"/");

        //stに文字列が無くなるまで繰り返す
        while (st.hasMoreTokens()){
            String s = st.nextToken();
            System.out.println(s);
        }
    }
}
}}

結果
 123
 45.6
 -11.2
 41
 -90.1
 100
 99.99
 -50
 -20

こちらは、上記の例のEnumerationインターフェイスのメソッドを使用した例~
結果は同じ。~


''例2''
#codeprettify{{
import java.util.*;

class StringTokenizerDemo2{
    public static void main(String args[]){
        String str ="123/45.6/-11.2/41/-90.1/100/99.99/-50/-20";

        //"/"を区切り文字としてstrを区切る StringTokenizer型のオブジェクトstを生成
        StringTokenizer st = new StringTokenizer(str,"/");

        //stに文字列が無くなるまで繰り返す
        //Enumerationのメソッドを使用
        while (st.hasMoreElements()){
            //nextElement()の戻り値はObject型なのでString型でキャストする
            String s = (String)st.nextElement();
            System.out.println(s);
        }
    }
}
}}


''結果''
 123
 45.6
 -11.2
 41
 -90.1
 100
 99.99
 -50
 -20


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS