StringTokenizer tokenizer = new StringTokenizer(s, " ,.:;?![]'");
デリミタ(この場合はすべての句読点)を取得する方法はありますか?StringTokenizerからデリミタを取得するには?
たとえば、「これはテストですが、それもテストですか?」
トークン化の結果に2つのトークンも含まれていますか?
これは可能ですか?
StringTokenizer tokenizer = new StringTokenizer(s, " ,.:;?![]'");
デリミタ(この場合はすべての句読点)を取得する方法はありますか?StringTokenizerからデリミタを取得するには?
たとえば、「これはテストですが、それもテストですか?」
トークン化の結果に2つのトークンも含まれていますか?
これは可能ですか?
StringTokenizer
には、第3のboolean
引数を取るオーバーロードされたコンストラクタがあります。
StringTokenizer tokenizer = new StringTokenizer(s, " ,.:;?![]'", true);
// Here ---------------------------------------------------------^
これはクールです!私はスペースを表現するために "\\ s"を使用してテストしましたが、なぜ動作しませんか? – user697911
@ user697911 'StringTokenzer'は、正規表現ではなく、区切り文字として使用する文字列を受け取ります。区切り引数として '' \\ s "'を使うと、空白ではなく区切り文字として ''\'と' 's ''が使われます。 – AJNeufeld
ユーザー3のparamコンストラクタ https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html:
true
に設定すると、あまりにも区切り文字を返しtokenzierようになります#StringTokenizer-java.lang.String-java.lang.String-boolean- –