Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengekstrak Nombor daripada Rentetan dalam JavaScript?

Bagaimana untuk Mengekstrak Nombor daripada Rentetan dalam JavaScript?

DDD
Lepaskan: 2024-12-06 10:45:11
asal
738 orang telah melayarinya

How to Extract Numbers from Strings in JavaScript?

Mengekstrak Nombor daripada Rentetan dalam JavaScript: Panduan Komprehensif

Apabila bekerja dengan rentetan dalam JavaScript, selalunya perlu mengekstrak nombor tertentu daripadanya. Ini boleh timbul dalam pelbagai senario, seperti menghuraikan ID daripada elemen DOM atau mengekstrak data berangka daripada fail teks.

Contoh Khusus: Pengekstrakan Nombor daripada Rentetan

Pertimbangkan rentetan seperti "#box2" di mana kita perlu mengekstrak nombor 2 sahaja. Menggunakan kod berikut coretan:

var thestring = $(this).attr('href');
var thenum = thestring.replace(/(^.+)(\w\d+\w)(.+$)/i, '');
Salin selepas log masuk

masih akan mengembalikan "#box2" dalam amaran. Sebabnya ialah ungkapan biasa yang digunakan tidak menangkap aksara bukan digit dengan betul sebelum dan selepas nombor.

Penyelesaian untuk Contoh Khusus

Untuk menyelesaikan isu ini untuk contoh khusus "#box2", kita boleh menggunakan kod berikut:

var thenum = thestring.replace(/^\D+/g, ''); // Replace all leading non-digits with nothing
Salin selepas log masuk

Ungkapan biasa ini mengalih keluar semua aksara bukan digit terkemuka daripada rentetan, mengasingkan nombor dengan berkesan.

Penyelesaian Umum Menggunakan Regex

Untuk rentetan yang lebih kompleks, pendekatan yang lebih umum ialah menggunakan ungkapan biasa yang hanya sepadan dengan nombor:

thenum = "foo3bar5".match(/\d+/)[0] // "3"
Salin selepas log masuk

Ungkapan ini akan mengembalikan set pertama digit berturut-turut dalam rentetan.

Penjana Regex

Untuk ungkapan biasa yang lebih kompleks, anda boleh menggunakan alat penjana regex, seperti yang disediakan di bawah:

`


fungsi getre(str, num) {
jika (str === num) kembalikan "cubaan bagus";
var res = [

[/^\D+/g, /\D+$/g], // Remove leading/trailing non-digits
[/^\D+|\D+$/g], // Remove both leading and trailing non-digits
[/\D+/g], // Remove all non-digits
[/\D.*/g], // Remove all non-digits from the end
/.*\D/g, // Remove all non-digits from the start
/^\D+|\D.*$/g, // Remove non-digits from both ends
/.*\D(?=\d)|\D+$/g, // Remove non-digits followed by digits or from the end
Salin selepas log masuk

];
untuk (var i = 0; i < ; res.length; i )

if (str.replace(res[i], "") === num)
  return 'num = str.replace(/' + res[i].source + '/g, "")';
Salin selepas log masuk

kembali "no idea";
}

kemas kini fungsi() {
$ = function(x) { return document.getElementById(x) };
var re = getre($('str' ).value, $('num').value);
$('re').innerHTML = "Numex bercakap: " semula "";
}

`:

Alat ini menyediakan antara muka pengguna di mana anda boleh memasukkan rentetan asal anda dan nombor yang dikehendaki untuk ekstrak. Ia kemudiannya akan memaparkan kod JavaScript yang diperlukan untuk mengekstrak nombor.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Nombor daripada Rentetan dalam JavaScript?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan