モジュール java.base
パッケージ java.util

クラスStringTokenizer

java.lang.Object
java.util.StringTokenizer
すべての実装されたインタフェース:
Enumeration<Object>

public class StringTokenizer extends Object implements Enumeration<Object>
StringTokenizerクラスを使用すると、アプリケーションで文字列をトークンに分割できます。 トークン化のメソッドは、StreamTokenizerクラスで使用されているメソッドよりもさらに簡単です。 StringTokenizerメソッドでは、識別子、数字、引用文字列は区別されません。また、コメントを認識してスキップすることもありません。

区切り文字(トークンを分ける文字)は、クラスの作成時、またはトークンを得るたびに指定できます。

StringTokenizerのインスタンスは、作成時のreturnDelimsフラグの値がtruefalseかによって、動作が異なります。

  • フラグがfalseの場合は、区切り文字はトークンを分けるだけのものと見なされる。 トークンは区切り文字でない文字が1個以上連続している部分である
  • フラグがtrueの場合は、区切り文字はそれ自体がトークンと見なされる。 トークンは、1個の区切り文字か、区切り文字でない文字が1個以上連続している部分である

StringTokenizerオブジェクトは、トークン化される文字列内の現在の位置を内部的に保持します。 いくつかのオペレーションは、この現在の位置を処理された文字の先に進めるものがあります。

トークンは、StringTokenizerオブジェクトの作成に使用された文字列のサブストリングを取得することで返されます。

使用例を次に示します。 コード:

     StringTokenizer st = new StringTokenizer("this is a test");
     while (st.hasMoreTokens()) {
         System.out.println(st.nextToken());
     }
 

画面には次のように表示されます。

     this
     is
     a
     test
 

StringTokenizerは、新しいコードで使用することは推奨されませんが、互換性の理由のために保持されるレガシー・クラスです。 この機能が必要なユーザーは、かわりにStringsplitメソッドまたはjava.util.regexパッケージを使用することをお薦めします。

次の例は、String.splitメソッドを使用して文字列を基本トークンに分割する方法を示しています:

     String[] result = "this is a test".split("\\s");
     for (String r : result)
         System.out.println(r);
 

画面には次のように表示されます。

     this
     is
     a
     test
 

導入されたバージョン:
1.0
関連項目: