この大きなテキストがあります(LARGEを読んでください)。すべての単語をトークン化し、すべての非文字を区切る必要があります。StringTokenizer を使用して、一度に 1 つの単語を読み取りました。ただし、次のようなことをする代わりに、区切り文字列 (「すべての非文字」) を記述する方法を調査していたので、
new StringTokenizer(text, "\" ();,.'[]{}!?:”“…\n\r0123456789 [etc etc]");
誰もが基本的に StringTokenizer を嫌うことがわかりました (なぜ?)。
では、代わりに何を使用できますか?私の大きなテキストを複製するので、 String.split を提案しないでください。テキストを単語ごとに調べ、文字以外のすべてを区切る必要があります。自分で何かを構築する方が簡単ですか、それともこの問題に立ち向かうためのベストプラクティスの方法はありますか?
前もって感謝します!