Rumah > Java > javaTutorial > Bagaimana untuk Mengekstrak Nombor daripada Rentetan di Java Menggunakan Ungkapan Biasa?

Bagaimana untuk Mengekstrak Nombor daripada Rentetan di Java Menggunakan Ungkapan Biasa?

Susan Sarandon
Lepaskan: 2024-12-12 18:49:15
asal
827 orang telah melayarinya

How to Extract a Number from a String in Java Using Regular Expressions?

Cara Mengekstrak Nilai daripada Rentetan Menggunakan Ungkapan Biasa dalam Java

Soalan:

Memandangkan satu siri rentetan yang distrukturkan sebagai "[beberapa teks] [beberapa nombor] [beberapa teks lagi]", bagaimanakah kita boleh mengekstrak "beberapa nombor" menggunakan kelas ekspresi biasa (regex) Java? Kami amat berminat dengan satu contoh "beberapa nombor", dan rentetan sumber adalah pendek.

Jawapan:

Untuk mencapai pengekstrakan, ikut langkah ini :

  1. Buat Corak Objek:

    • Tentukan objek Corak menggunakan Pattern.compile(regex) dengan ungkapan biasa yang anda inginkan. Contohnya:

      private static final Pattern p = Pattern.compile("^([a-zA-Z]+)([0-9]+)(.*)");
      Salin selepas log masuk
  2. Buat Objek Pencocokan:

    • Dapatkan objek Pencocokan menggunakan p .matcher(sourceString) untuk memadankan corak dengan input rentetan.
  3. Semak padanan:

    • Panggil m.find() untuk menentukan sama ada corak itu ada dalam rentetan.
  4. Ekstrak Nilai:

    • Jika padanan ditemui, gunakan m.group(index) untuk mendapatkan semula kumpulan yang diingini. Contohnya, m.group(2) mengembalikan nilai "beberapa nombor".

Contoh:

Matcher m = p.matcher("Testing123Testing");

if (m.find()) {
    System.out.println(m.group(2)); // prints 123
}
Salin selepas log masuk

Pemurnian Regex:

Untuk mengekstrak nombor pertama, gunakan biasa berikut ungkapan:

^\D+(\d+).*
Salin selepas log masuk

Ini sepadan dengan rentetan di mana aksara bukan digit diikuti oleh satu atau lebih digit dan aksara tambahan. m.group(1) akan mendapatkan semula nilai "some number".

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Nombor daripada Rentetan di Java Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan