Rumah >Java >javaTutorial >Bagaimanakah Scanner.useDelimiter() Java berfungsi dengan Ungkapan Biasa?

Bagaimanakah Scanner.useDelimiter() Java berfungsi dengan Ungkapan Biasa?

Linda Hamilton
Linda Hamiltonasal
2024-11-23 07:38:08302semak imbas

How Does Java's Scanner.useDelimiter() Work with Regular Expressions?

Memahami Pembatas dengan Scanner.useDelimiter dalam Java

Kelas Pengimbas dalam Java menyediakan kaedah useDelimiter, membolehkan anda menentukan pembatas (karakter atau corak) yang memisahkan token. Walau bagaimanapun, menggunakan pembatas boleh mengelirukan untuk pemula. Mari kita pecahkan dalam istilah yang lebih mudah.

Pertimbangkan coretan:

sc = new Scanner(new File(dataFile));
sc.useDelimiter(",|\r\n");

Dalam contoh ini, pembatas ditakrifkan sebagai gabungan koma (",") dan pemulangan pengangkutan diikuti dengan baris baharu ("rn"). Pengimbas akan menggunakan pembatas ini untuk mengasingkan token dalam fail data.

Memahami Ungkapan Biasa

Pembatas yang anda tentukan dalam useDelimiter ialah ungkapan biasa. Ungkapan biasa ialah corak yang digunakan untuk memadankan aksara atau urutan. Pembatas ",|rn" menyatakan bahawa token sama ada berakhir dengan koma atau pemulangan gerabak diikuti dengan baris baharu.

Contoh

Mari kita ambil contoh:

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();

Dalam contoh ini, pembatas ialah "sikan." \s* menunjukkan bahawa boleh terdapat sebarang bilangan ruang putih (termasuk sifar) sebelum atau selepas perkataan "ikan." Ini bermakna pengimbas akan memadankan dan mengekstrak token seperti "1 ikan," "2 ikan," dan seterusnya.

Kesimpulan

Ingat bahawa apabila menggunakan useDelimiter dalam Java, adalah penting untuk memahami perkara biasa. ungkapan. Anda boleh mendapatkan tutorial terperinci dalam talian untuk meningkatkan pengetahuan anda tentang corak regex. Dengan pemahaman yang betul tentang pembatas dan ungkapan biasa, anda boleh menghuraikan dan mengekstrak data dengan cekap daripada fail teks menggunakan kelas Pengimbas.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn