Apabila menggunakan kelas Pengimbas untuk menghuraikan fail, anda mungkin menghadapi useDelimiter() kaedah, tetapi tingkah lakunya boleh mengelirukan. Artikel ini akan memberikan penjelasan ringkas tentang cara pembatas berfungsi bersama-sama dengan kelas Pengimbas.
Kelas Pengimbas, apabila digunakan untuk menghuraikan input, boleh dikonfigurasikan untuk digunakan watak atau corak tertentu sebagai pembatas. Secara lalai, aksara ruang putih (seperti ruang, tab dan baris baharu) berfungsi sebagai pembatas. Walau bagaimanapun, anda boleh menentukan pembatas anda sendiri menggunakan kaedah useDelimiter().
Sebagai contoh, pertimbangkan kod berikut:
Scanner sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
Dalam contoh ini , pembatas yang dinyatakan ialah koma (",") atau pemulangan gerabak diikuti dengan baris baharu ("rn"). Ini bermakna bahawa Pengimbas akan menganggap sebarang kejadian sama ada aksara atau gabungan sebagai pembatas.
Untuk menggambarkan cara ini berfungsi, pertimbangkan rentetan input berikut:
1 fish 2 fish red fish blue fish
Apabila diproses menggunakan objek Pengimbas yang dikonfigurasikan dengan pembatas yang ditentukan, ia akan membahagikan input kepada token seperti berikut:
1 2 red blue
Pembatas yang dinyatakan dalam useDelimiter () boleh termasuk ungkapan biasa (regex). Ungkapan biasa ialah cara ringkas dan berkuasa untuk menentukan corak kompleks dalam teks. Regex yang digunakan dalam contoh di atas, ",|rn", sepadan sama ada koma atau pemisah baris.
Atas ialah kandungan terperinci Bagaimanakah `Scanner.useDelimiter()` Java berfungsi dengan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!