私は、InputStreamで動作しているスキャナを設定しています。Java Scanner.nextLine()は改行文字を使用します
私はScanner.nextLine()を使用して各行に進み、各行で正規表現の作業を行っています。
私は基本的に[\w\p{Z}]+?[;\n\r]
のような正規表現を使って、その行の最後まで何かを拾い上げるか、セミコロンで区切られた場合はただ一つだけを拾います。私InpustStreamが
abcd;
xyz
のように見える場合
ので、それはABCDを拾う;,が、xyzのではないでしょう。
これは、スキャナが.nextLine()関数が呼び出されたときに、何らかの形でテキスト行の最後に改行文字を消費しているためです。誰も私にこの問題を解決する方法を教えてもらえますか?情報の追加点として
は、私の正規表現のために、私はPattern.DOTALL
おかげでパターンをコンパイルしています!
これには正規表現のみを使用する必要がありますか? 'String.split'もこのトリックを行うことができると思われますか? – Marnix
本当に簡単に見つけることができます - 各行で正規表現を停止し、nextLine()が取得しているものを確認してください... – hovanessyan