Rumah >Java >javaTutorial >Bagaimanakah Ungkapan Biasa Boleh Mengeluarkan Nombor daripada Rentetan dan Menyimpannya sebagai Tatasusunan Integer?
Mengekstrak Nombor daripada Rentetan Menggunakan Ungkapan Biasa
Masalah:
Diberi rentetan yang mengandungi kedua-duanya teks dan nombor, bagaimana kita boleh mengekstrak nombor ini dan menyimpannya dalam pelbagai integer?
Penyelesaian dengan Ungkapan Biasa:
Ungkapan biasa (regex) boleh digunakan sebagai kaedah ringkas dan cekap untuk memadankan dan mengekstrak corak tertentu daripada rentetan. Begini cara kita boleh menggunakan regex untuk menyelesaikan masalah ini:
import java.util.regex.Pattern; import java.util.regex.Matcher; import java.util.LinkedList; String line = "There are more than -2 and less than 12 numbers here"; Pattern p = Pattern.compile("-?\d+"); Matcher m = p.matcher(line); LinkedList<String> numbers = new LinkedList<>(); while (m.find()) { numbers.add(m.group()); } // Convert the extracted strings to integers int[] intArray = new int[numbers.size()]; for (int i = 0; i < numbers.size(); i++) { intArray[i] = Integer.parseInt(numbers.get(i)); } System.out.println(intArray);
Dalam penyelesaian ini:
Pendekatan ini menyediakan penyelesaian yang bersih dan boleh digunakan semula untuk mengekstrak nombor daripada rentetan panjang dan kerumitan sewenang-wenangnya.
Atas ialah kandungan terperinci Bagaimanakah Ungkapan Biasa Boleh Mengeluarkan Nombor daripada Rentetan dan Menyimpannya sebagai Tatasusunan Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!