Java の Scanner クラスには useDelimiter メソッドがあり、区切り文字 (文字またはパターン) を指定できます。トークン。ただし、初心者にとって区切り文字の使用は混乱する可能性があります。より簡単な言葉で分解してみましょう。
スニペットを考えてみましょう:
sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
この例では、区切り文字はカンマ (",") とキャリッジ リターンの組み合わせとして定義されています。その後に改行 (「rn」) が続きます。スキャナはこの区切り文字を使用して、データ ファイル内のトークンを区切ります。
useDelimiter で指定する区切り文字は正規表現です。正規表現は、文字またはシーケンスを照合するために使用されるパターンです。区切り文字 ",|rn" は、トークンがカンマで終わるか、復帰とそれに続く改行で終わることを指定します。
例を見てみましょう:
String input = "1 fish 2 fish red fish blue fish"; Scanner s = new Scanner(input).useDelimiter("\s*fish\s*"); System.out.println(s.nextInt()); // prints: 1 System.out.println(s.nextInt()); // prints: 2 System.out.println(s.next()); // prints: red System.out.println(s.next()); // prints: blue s.close();
この例では、区切り文字は「sfishs」です。 \s* は、「fish」という単語の前後に任意の数の空白文字 (ゼロを含む) を含めることができることを示します。これは、スキャナが「1 匹の魚」、「2 匹の魚」などのトークンを照合して抽出することを意味します。
Java で useDelimiter を使用する場合は、規則的な規則を理解することが重要であることに注意してください。表現。正規表現パターンの知識を高めるための詳細なチュートリアルをオンラインで見つけることができます。区切り文字と正規表現を正しく理解すると、Scanner クラスを使用してテキスト ファイルからデータを効率的に解析して抽出できます。
以上がJava の Scanner.useDelimiter() は正規表現とどのように連携しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。