用正規表示式理解Scanner.useDelimiter
在Java 的Scanner API 中,useDelimiter() 方法允許您指定一個分隔符號分割將文字輸入到標記中。但是,可以使用空格以外的分隔符,這需要了解正規表示式 (regex) 模式。
useDelimiter() 中的正規表示式模式
要使用分隔符號useDelimiter(),您需要提供正規表示式模式。此模式定義應分隔標記的字元或序列。
例如,下面的程式碼片段使用分隔符號“|,|rn”根據逗號(“,”)或換行符分割輸入(rn):
sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
這表示掃描器會將逗號和換行符視為分隔符,將輸入拆分為
範例
要說明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中文網其他相關文章!