Java Mania

Java Mania

StringTokenizer

文字列をデリミータ(区切り文字)ごとに分割するクラス。禁則文字の置き換えやCSVファイルの形式変換などで役に立ちそう。

HomePageTop▲

How To Use -使用方法-

StringTokenizerクラスは下記のように使用する。

コンストラクタの説明
StringTokenizer(String str)
第1引数のstrに対するStringTokenizer を作成する。デリミータはデフォルトの区切り文字セットを使用する。
StringTokenizer(String str, String delim)
第1引数のstrに対するStringTokenizer を作成する。デリミータは第2引数を使用する。
StringTokenizer(String str, String delim, boolean returnDelims)
第1引数のstrに対するStringTokenizer を作成する。デリミータは第2引数を使用する。 第3引数が"true"の場合は、デリミータもトークンとして返される。
※区切り文字セットとは、空白文字、タブ文字、改行文字、復帰改行文字、および用紙送り文字のことである。
※デリミータをトークンとして返す必要がある状況が想像し難いのだが、どういうときに使うのだろう?

メソッドの説明
※全てのメソッドを網羅していないので、詳細はAPIリファレンスを参照する。
public boolean hasMoreTokens()
トークナイザ内にトークンがあるかどうかを判定する。ある場合はtrue、ない場合はfalseを返す。
public String nextToken()
トークナイザ内の次のトークンを返す。
public int countTokens()
トークナイザ内にどれだけトークンが残っているかを返す。
HomePageTop▲

Source -StringTokenizerTest.java-

package mania.test;

import java.util.StringTokenizer;

public class StringTokenizerTest
{
  // StringTokenizerの使用方法
  public static void main(String[] args)
  {
    // 切り分ける文字列
    String txt = new String("JAVA,MANIA,よろしく");

    // デリミータをトークンに含めない場合
    StringTokenizer tokenizer1 = new StringTokenizer(txt, ",");

    // デリミータもトークンに含める場合
    StringTokenizer tokenizer2 = new StringTokenizer(txt, ",", true);

    System.out.println("===引数が2つの実行結果===");

    // 切り分け文字をトークンごとに取り出す。
    while(tokenizer1.hasMoreTokens())
    {
      System.out.println(tokenizer1.nextToken());
    }

    System.out.println("===引数が3つの実行結果===");

    // 切り分け文字をトークンごとに取り出す。
    while(tokenizer2.hasMoreTokens())
    {
      System.out.println(tokenizer2.nextToken());
    }
  }
}
HomePageTop▲

Results -実行結果-


===引数が2つの実行結果===
JAVA
MANIA
よろしく
===引数が3つの実行結果===
JAVA
,
MANIA
,
よろしく

HomePageTop▲

Copyright (C) 2006, JavaMania. All Rights Reserved.