ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で文字列から数値を抽出するにはどうすればよいですか?

JavaScript で文字列から数値を抽出するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-06 10:45:11741ブラウズ

How to Extract Numbers from Strings in JavaScript?

JavaScript で文字列から数値を抽出: 総合ガイド

JavaScript で文字列を操作する場合、多くの場合、文字列から特定の数値を抽出する必要があります。これは、DOM 要素からの ID の解析やテキスト ファイルからの数値データの抽出など、さまざまなシナリオで発生する可能性があります。

具体的な例: 文字列からの数値の抽出

「#box2」のような文字列。数字の 2 だけを抽出する必要があります。次のコードを使用します。スニペット:

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.

Regex Generator

より複雑な正規表現については、以下に示すような正規表現ジェネレータ ツールを使用できます。

`


関数getre(str, num) {<br> if (str === num) return "nice try";<br> var res = [</p><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

if (str.replace(res[i], "") === num)
  return 'num = str.replace(/' + res[i].source + '/g, "")';
を返しますidea";

}

function update() {

$ = function(x) { return document.getElementById(x) };
var re = getre($('str' ).value, $('num').value);
$('re').innerHTML = "Numex が話す: <コード>" re "";
}

`:

このツールは、元の文字列と目的の数値を入力できるユーザー インターフェイスを提供します。抽出する。次に、番号を抽出するために必要な JavaScript コードが表示されます。

以上がJavaScript で文字列から数値を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。