3

入力文字列のすべての数字を取得しようとしています。文字列には、文字などの他の文字を含めることもできるので、単純にはできません[0-9]+

試してみまし/[0-9]/gたが、これはすべての数字を配列として返します。

数字のすべてのインスタンスをどのようにキャプチャまたは照合し、文字列として返すのですか?

4

3 に答える 3

3

元の文字列のすべての非数字を置き換えるだけです。

var s = "foo 123 bar 456";
var digits = s.replace(/\D+/g, "");
于 2013-02-15T19:59:32.977 に答える
1

digits:を抽出するのではなく、数字以外のすべての文字を置き換えることができます。

var str = "some string 22 with digits 2131";
str = str.replace(new RegExp("\D","g"),"");

\Dと同じ[^\d]です。

于 2013-02-15T19:59:42.907 に答える
1

他のソリューションの方が優れていますが、要求どおりにするには、アレイに参加するだけです。

var str = "this 1 string has 2 digits";
var result = str.match(/[0-9]+/g).join(''); // 12
于 2013-02-15T20:24:37.583 に答える