Rumah >Java >javaTutorial >Bagaimanakah Ungkapan Biasa Boleh Mengekstrak Integer daripada Rentetan Teks?
Mengekstrak Integer daripada Teks menggunakan Ungkapan Biasa
Dalam artikel ini, kami meneroka cara mengekstrak nilai integer daripada rentetan teks yang diberikan. Ungkapan biasa menyediakan alat yang berkuasa untuk tugas ini.
Masalah:
Pertimbangkan rentetan yang mengandungi ayat bahasa Inggeris dengan nombor terbenam. Kami berhasrat untuk mengasingkan nombor ini dan menyimpannya sebagai tatasusunan integer. Bolehkah ungkapan biasa membantu kami dalam proses ini?
Penyelesaian:
Menggunakan penyelesaian Sean, kami mengubah suainya sedikit:
LinkedList<String> numbers = new LinkedList<String>(); Pattern p = Pattern.compile("\d+"); Matcher m = p.matcher(line); while (m.find()) { numbers.add(m.group()); }
Pengekstrakan Dipertingkat:
Untuk memperhalusi pengekstrakan kami, kami boleh menggunakan pengekstrakan biasa ungkapan yang menangkap kedua-dua nombor positif dan negatif:
Pattern p = Pattern.compile("-?\d+"); Matcher m = p.matcher("There are more than -2 and less than 12 numbers here"); while (m.find()) { System.out.println(m.group()); }
Ungkapan biasa yang diubah suai ini memastikan kedua-dua jenis nombor diekstrak. Output akan memaparkan "-2" dan "12."
Atas ialah kandungan terperinci Bagaimanakah Ungkapan Biasa Boleh Mengekstrak Integer daripada Rentetan Teks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!