1

Javaで文字列をスペースでトークン化する方法があるかどうか疑問に思っていましたが、アポストロフィの間にいくつかの単語がある場合は、それを「1単語」と見なしてください...

たとえば、次の場合:

この「素晴らしい」日

文字列トークナイザーには次のものが必要です。

  • "This"
  • "is a great"
  • "day"

ありがとう!

4

1 に答える 1

2

String.split()ではなく と 正規表現を使用するとStringTokenizer、次のようになります。

    String input = "this \"is a great\" day";

    for (String  word: input.split("(?<=\").+(?=\")|\\b\\w+\\b"))
    {
        System.out.println("["+word+"]");
    }

出力:

[this]
[is a great]
[day]

あなたの例から、アポストロフィ (') ではなく二重引用符 (") を意味すると思います。

NB:最初はもっと簡単なものを投稿しましたが、これはあなたの例では機能しましたが、次のような入力では機能しませんでした:

" yes this \"is a great\" day all right"
于 2012-03-04T23:24:57.593 に答える