正規表現を使用した Scanner.useDelimiter について
Java の Scanner API では、 useDelimiter() メソッドを使用して、データを分割するための区切り文字を指定できます。テキストをトークンに入力します。ただし、空白以外の区切り文字も使用でき、正規表現 (regex) パターンを理解する必要があります。
useDelimiter() の正規表現パターン
区切り文字を使用するにはuseDelimiter() を使用するには、正規表現パターンを指定する必要があります。このパターンは、トークンを区切る文字またはシーケンスを定義します。
たとえば、以下のコード スニペットでは、区切り文字 "|,|rn" を使用して、カンマ (",") または改行に基づいて入力を分割します。 (rn):
sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
これは、スキャナがカンマと改行を区切り文字として扱い、入力を次のように分割することを意味します。 tokens.
例
useDelimiter() が正規表現パターンでどのように機能するかを説明するために、次の例を考えてみましょう。
String input = "1 fish 2 fish red fish blue fish"; // Use "\s*fish\s*" as the delimiter to split the input 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
ここでは区切り文字を使用します。 「sfishs」は、0 個以上の空白文字の繰り返しに一致します。 ("s*") の後に単語 "fish" が続き、再度空白が 0 回以上繰り返されます。その結果、入力は区切り文字に基づいてトークンに分割され、スキャナーは目的の値を抽出できます。
追加リソース
useDelimiter( ) と正規表現パターンについては、次のリソースを参照してください:
以上がJava の「Scanner.useDelimiter()」を正規表現とともに使用して入力を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。