Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengeluarkan Nombor dengan Cekap daripada Rentetan dalam JavaScript?

Bagaimanakah Saya Boleh Mengeluarkan Nombor dengan Cekap daripada Rentetan dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-13 22:56:11786semak imbas

How Can I Efficiently Extract Numbers from Strings in JavaScript?

Mengekstrak Nombor daripada Rentetan dalam JavaScript

Dalam JavaScript, mendapatkan semula nombor daripada rentetan boleh dicapai dalam beberapa cara. Mari kita pertimbangkan senario di mana anda mempunyai rentetan seperti "#box2" dan perlu mengekstrak bahagian angka, dalam kes ini, "2."

Percubaan Gagal

Seperti yang dinyatakan dalam masalah, menggunakan kod berikut tidak akan berfungsi:

var thenum = thestring.replace(/(^.+)(\w\d+\w)(.+$)/i, '');

Kod ini direka bentuk untuk menangkap aksara perkataan diikuti dengan digit dan aksara perkataan lain, tetapi ia tidak mengalih keluar sebarang bukan digit daripada hasil carian.

Penyelesaian

Untuk contoh khusus ini, kod yang betul ialah:

var thenum = thestring.replace(/^\D+/g, '');

Kod ini menggantikan semua bukan digit terkemuka (aksara bukan digit) dengan rentetan kosong, meninggalkan anda dengan nombor.

Kes Umum

Dalam kes umum, anda boleh menggunakan kod berikut untuk mengekstrak nombor daripada rentetan:

thenum = "foo3bar5".match(/\d+/)[0];

Kod ini menggunakan ungkapan biasa untuk mencari satu atau lebih digit dalam rentetan dan mengembalikan padanan pertama sebagai a rentetan.

Bonus: Penjana Regex

Untuk kemudahan anda, terdapat alatan dalam talian yang tersedia yang boleh membantu anda menjana ungkapan biasa. Salah satu alat tersebut ialah "RegExp Generator" (dipautkan dalam contoh kod yang disediakan).

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Nombor dengan Cekap daripada Rentetan dalam JavaScript?. 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