Memahami Scanner.useDelimiter dengan Ungkapan Biasa
Dalam API Pengimbas Java, kaedah useDelimiter() membolehkan anda menentukan pembatas untuk memisahkan masukkan teks ke dalam token. Walau bagaimanapun, pembatas selain daripada ruang putih boleh digunakan, yang memerlukan pemahaman tentang pola ungkapan biasa (regex).
Corak Regex dalam penggunaanDelimiter()
Untuk menggunakan pembatas dengan useDelimiter(), anda perlu menyediakan corak regex. Corak ini mentakrifkan aksara atau jujukan yang sepatutnya memisahkan token.
Sebagai contoh, coretan kod di bawah menggunakan pembatas "|,|rn" untuk memisahkan input berdasarkan koma (",") atau baris baharu (rn):
sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
Ini bermakna pengimbas akan menganggap koma dan baris baharu sebagai pemisah, membahagikan input kepada token.
Contoh
Untuk menggambarkan cara useDelimiter() berfungsi dengan corak regex, pertimbangkan contoh berikut:
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
Di sini, pembatas "sikan" sepadan dengan 0 atau lebih ulangan aksara ruang putih ("s*") diikuti dengan perkataan "fish" dan sekali lagi 0 atau lebih ulangan ruang kosong. Akibatnya, input dibahagikan kepada token berdasarkan pembatas, dan pengimbas boleh mengekstrak nilai yang diingini.
Sumber Tambahan
Untuk maklumat lanjut tentang useDelimiter( ) dan corak regex, rujuk sumber berikut:
Atas ialah kandungan terperinci Bagaimanakah `Scanner.useDelimiter()` Java Boleh Digunakan dengan Ungkapan Biasa untuk Memisahkan Input?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!