首頁 >web前端 >js教程 >如何在 JavaScript 中從字串中提取數字?

如何在 JavaScript 中從字串中提取數字?

DDD
DDD原創
2024-12-06 10:45:11747瀏覽

How to Extract Numbers from Strings in JavaScript?

在 JavaScript 中從字串中提取數字:綜合指南

在 JavaScript 中處理字串時,通常需要從中提取特定數字。這可能會出現在各種場景中,例如從 DOM 元素解析 ID 或從文字檔案中提取數字資料。

具體範例:從字串中提取數字

考慮像「#box2」這樣的字串,我們只需要提取數字 2。使用以下程式碼snippet:

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

仍會在警報中返回「#box2」。原因是使用的正規表示式沒有正確捕捉數字前後的非數字字元。

具體範例解決方案

解決此問題對於「#box2」的具體範例,我們可以使用以下程式碼:

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

此正規表示式刪除所有前導非數字字元字串,有效隔離數字。

使用正規表示式的一般解

對於更複雜的字串,更通用的方法是使用僅匹配數字的正規表示式:

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

此表達式將傳回數組中的第一組連續數字string.

正規表示式產生器

對於更複雜的正規表示式,您可以使用正規表示式產生器工具,例如下方提供的工具:

`


函數getre(str, num) {<br> if (str === num) return "nice try";<br> var res = [<pre class="brush:php;toolbar:false">[/^\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

];
for (var i = 0; i

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


回傳「否idea";

}


function update() {
$ = function(x) { return document.getElementBy (x) };
var re = getre($('str' ).value, $('num').value);
$('re').innerHTML = "Numex 說話:" re "";
}

`:

此工具提供了一個使用者介面,您可以在其中輸入原始字串和所需的數位提煉。然後它將顯示提取數字所需的 JavaScript 程式碼。

以上是如何在 JavaScript 中從字串中提取數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn