5

javascript/jquery を使用して、次の文字列から数値を抽出したいと思います。

"ch2sl4"

問題は、文字列が次のようになる可能性があることです。

"ch10sl4"

またはこれ

"ch2sl10"

2 つの数値を 2 つの変数に格納したいと思います。match前後の数字を抽出する使い方はあります"sl"か?match抽出を行うための正しい機能でしょうか?

どうも

4

4 に答える 4

11

はい、match行く方法です:

var matches = str.match(/(\d+)sl(\d+)/);
var number1 = Number(matches[1]);
var number2 = Number(matches[2]);
于 2013-07-25T07:43:59.870 に答える
8

文字列が常に"ch[num1]sl[num2]"のようになる場合、次のように正規表現なしで簡単に数値を取得できます。

var numbers = str.substr(2).split('sl');
//chop off leading ch---/\   /\-- use sl to split the string into 2 parts.

"ch2sl4"の場合、次のようになりnumbersます["2", "4"]:var num1 = +(numbers[0])numbers.map(function(a){ return +(a);}

文字列部分が可変の場合、これはすべてを一挙に行います。

var str = 'ch2fsl4';
var numbers = str.match(/[0-9]+/g).map(function(n)
{//just coerce to numbers
    return +(n);
});
console.log(numbers);//[2,4]
于 2013-07-25T07:53:53.503 に答える
2

さまざまな方法で物事を達成する方法を示すための代替手段として

var str = "ch2sl10";
var num1 = +(str.split("sl")[0].match(/\d+/));
var num2 = +(str.split("sl")[1].match(/\d+/));
于 2013-07-25T07:51:26.903 に答える