Rumah >Java >javaTutorial >Bagaimanakah Ungkapan Biasa Boleh Mengekstrak Integer daripada Rentetan Teks?

Bagaimanakah Ungkapan Biasa Boleh Mengekstrak Integer daripada Rentetan Teks?

DDD
DDDasal
2024-12-07 19:09:14669semak imbas

How Can Regular Expressions Extract Integers from Text Strings?

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!

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