CodeGym /Java Blog /ランダム /Java の StringTokenizer
John Squirrels
レベル 41
San Francisco

Java の StringTokenizer

ランダム グループに公開済み
Java のStringTokenizerクラスは、指定された区切り文字に基づいて文字列をトークンに分割するトークナイザーStringメソッドを提供します。トークナイザー文字列には、コンマ、セミコロン、空白など、トークンを区切る任意の文字列を使用できます。StringTokenizerクラスのtokenizer Stringメソッドを使用すると、文字列をその構成部分に分割できます。nextToken()メソッドを呼び出すことで、各トークンを順番に取得でき、hasMoreTokens()メソッドを使用すると、さらにトークンが残っているかどうかを確認できます。StringTokenizerクラスのlength ()メソッドを使用して、各トークンの長さを取得できます。StringTokenizer String は文字列操作に便利なツールであり、CSV ファイル、URL、またはその他のテキストベースのデータの解析に使用できます。StringTokenizerクラスはJava.utilパッケージ一部であり、文字列をトークンに分割する簡単な方法を提供します。このクラスには 2 つのコンストラクターがあり、1 つはトークン化される文字列と区切り文字または文字列を受け取り、もう 1 つは同じ引数と区切り文字をトークンとして含めるかどうかを示すブール フラグを受け取ります。StringTokenizerオブジェクトを作成したら、そのさまざまなメソッドを使用してトークンを反復処理し、トークンに対してさまざまな操作を実行できます。

トークン化方法

トークン化方法は、文字列をより小さな部分またはトークンに分割するプロセスです。このプロセスは、各トークンを区切る文字または文字列である区切り文字を使用して実行されます。たとえば、次の文字列について考えてみましょう。
String input = "Hello World! How are you today?";
この文字列を個々の単語に分割したい場合は、次のようにスペース文字を区切り文字として使用できます。
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
    String token = tokenizer.nextToken();
    System.out.println(token);
}

出力

「こんにちは世界」今日は元気ですか?
この例では、入力文字列と区切り文字としてスペース文字を使用して、 新しいStringTokenizerオブジェクトを作成します。次に、 hasMoreTokens()メソッドを使用してトークンをループし、nextToken()メソッドを使用して各トークンを取得します。最後に、各トークンをコンソールに出力します。

トークンの長さ

nextToken()メソッドによって提供される基本機能に加えて、StringTokenizerクラスには、各トークンの長さを取得するためのメソッドと、インデックスによって特定のトークンを取得するためのメソッドも提供されます。現在のトークンの長さを取得するには、token.length()メソッドを使用できます。例えば:
public class StringTokenizerExample {
    public static void main(String[] args) {
        String input = "Hello World! How are you today?";
        StringTokenizer tokenizer = new StringTokenizer(input, " ");
        while (tokenizer.hasMoreTokens()) {
            String token = tokenizer.nextToken();
            System.out.println("Token: " + token + " Length: " + token.length());
        }
    }
}

出力

トークン: こんにちは 長さ: 5 トークン: 世界! 長さ: 6 トークン: どのように 長さ: 3 トークン: 長さ: 3 トークン: あなた 長さ: 3 トークン: 今日? 長さ: 6
この例では、前と同様に各トークンを取得しますが、さらにlength()メソッドを使用して各トークンの長さを取得し、それをコンソールに出力します。

Java で StringTokenizerクラスを使用する方法を示す完全な例を見てみましょう。
public class Example {
    public static void main(String[] args) {
        String input = "John,Doe,123 Main St.,Anytown,USA";
        StringTokenizer tokenizer = new StringTokenizer(input, ",");
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

出力

John Doe 123 Main St. Anytown USA
この例では、値のカンマ区切りリストを表す文字列があります。この文字列と区切り文字としてカンマを使用して、新しいStringTokenizerオブジェクトを作成します。次に、 hasMoreTokens()メソッドを使用してトークンをループし、nextToken()メソッドを使用して各トークンを取得します。最後に、各トークンをコンソールに出力します。個々のトークン自体にのみ関心があるため、この例では length()メソッドを使用していないことに注意してください。

StreamTokenizer クラス

StringTokenizerクラスは文字列をトークンに分割する簡単な方法を提供しますが、いくつかの制限があります。たとえば、複数の区切り文字や、数字や単語などの異なる種類のトークンを処理することはできません。より高度なトークン化機能が必要な場合は、 StreamTokenizerクラスを使用できます。このクラスは柔軟性が高く、さまざまな入力タイプを処理できます。 学んだことをさらに強化するには、Java コースのビデオ レッスンを視聴することをお勧めします。

結論

この記事では、Java のStringTokenizerクラスを検討し、それを使用して文字列をトークンに分割する方法を説明しました。また、クラスのメソッドの一部を使用して、トークンの長さの取得やインデックスによる特定のトークンの取得など、トークンに対してさまざまな操作を実行する方法も見てきました。StringTokenizerクラスはシンプルで便利なツールですが、制限もあります。より高度なトークン化機能が必要な場合は、StreamTokenizerクラスまたは Apache Commons Lang などのより強力なライブラリの使用を検討してください。どのツールやテクニックを使用するかを決定するときは、プロジェクトの特定のニーズを常に考慮することを忘れないでください。Java の文字列操作クラスとメソッドをしっかりと理解していれば、最も複雑な文字列操作タスクにも簡単に取り組むことができます。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION