0

テキストファイルを調べて各文を抽出するために、Javaの Scanner クラスを使用しています。Scanner で正規表現に setDelimiter メソッドを使用しています。

Pattern.compile("[\\w]*[\\.|?|!][\\s]")

これは現在機能しているように見えますが、文末に空白が残ります。最後に空白を一致させ、結果に含めない簡単な方法はありますか?

これはおそらく簡単な質問だと思いますが、これまで正規表現を使用したことがないので、簡単に行ってください:)

4

2 に答える 2

5

これを試して:

"(?<=[.!?])\\s+"

これはルックアラウンドを使用\\s+して、前に[.!?].


句読点も削除したい場合は、一致の一部として含めるだけです。

"[.!?]+\\s+"

これは と に分割"ORLY!?!? LOL"され"ORLY"ます。"LOL"

于 2010-04-16T01:47:01.880 に答える
0

あなたが求めているのは前向きな先見性です。これはそれを行う必要があります:

Pattern.compile("\\w*[.?!](?=\\s)")
于 2010-04-16T01:12:19.013 に答える