9.StringTokenizer | |
Stringクラスの文字列を例えばスペースや改行などで単語ごとに切り分けたりすることができる。通常はスペース、改行、タブが単語(以下トークン)とトークンの区切り(以下デリミタ)文字だが、プログラマーが他の文字を指定することもできる。 このクラスを使ってトークンに区切る場合は、まずStringTokenizerのコンストラクタで元になる文字列と必要ならばデリミタを指定する。このクラスはEnumerationインターフェースで元になる文字列と必要ならばデリミタを指定する。このクラスはEnumerationインターフェースをインプリメントしているのでそのインターフェースのnextElement( )メソッドまたはnextToken()メソッドを呼び出すことで次々にトークンを得ることができる。これをhasMoreElements()メソッドまたはhasMoreTokens()がfalseになるまで繰り返すことで、全トークンにアクセスする。 |
|
import java.util.StringTokenizer |
|
コンストラクタ | |
StringTokenizer(String str) 指定された文字列に対する StringTokenizer を作成する。 |
|
StringTokenizer(String str, String delim) 指定された文字列に対する StringTokenizer を作成する。 デリミタには指定した文字列を使用する。delimに" \t\n\r\f"を指定すると1つめのコンストラクタと同じになる。 |
|
StringTokenizer(String str, String delim, boolean returnDelim) 指定された文字列に対する StringTokenizer を作成する。 デリミタには指定した文字列を使用する。delimに" \t\n\r\f"を指定すると1つめのコンストラクタと同じになる。 returnDelimがfalseの場合は2つめのコンストラクタと同じになる。trueの場合はデリミタ文字も1つのトークンとして処理されるようになる。 |
|
メソッド | |
int | countTokens() 例外を生成せずにトークナイザの nextToken メソッドを呼び出せる回数を計算する。 |
boolean | hasMoreElements() トークナイザの文字列で利用できるトークンがまだあるかどうかを判定する。 |
boolean | hasMoreTokens() トークナイザの文字列で利用できるトークンがまだあるかどうかを判定する。 |
Object | nextElement() 文字列トークナイザから次のトークンを返します。戻り値はObjectクラスですが実際はStringクラスが返されますので、必要によってキャストする。 トークンが残っていない場合にはNoSuchElementExceptionが投げらる。 |
String | nextToken() 文字列トークナイザから次のトークンを返す。 トークンが残っていない場合にはNoSuchElementExceptionが投げられる。 |
String | nextToken(String newDelim) まずデリミタを指定したデリミタに変更し、文字列トークナイザから次のトークンを返す。新しいデリミタは今後も引き継がれる。 トークンが残っていない場合にはNoSuchElementExceptionが投げられる。 |
sample) StringTokenizerクラスの基本 | |
import java.io.*; imoprt java.util.*; class Test{ StringTokenizer token = new StringTokenizer(str); while( token.hasMoreTokens( ) ) { System.out.println( token.nextToken( ) ); } } } |
|
C:\Java\>java Test map A long time ago in a galaxy far, far away. A NEW HOPE It is a period of civil war. Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire. C:\Java\> |
Leave a Reply