javascript/jquery を使用して、次の文字列から数値を抽出したいと思います。
"ch2sl4"
問題は、文字列が次のようになる可能性があることです。
"ch10sl4"
またはこれ
"ch2sl10"
2 つの数値を 2 つの変数に格納したいと思います。match
前後の数字を抽出する使い方はあります"sl"
か?match
抽出を行うための正しい機能でしょうか?
どうも
javascript/jquery を使用して、次の文字列から数値を抽出したいと思います。
"ch2sl4"
問題は、文字列が次のようになる可能性があることです。
"ch10sl4"
またはこれ
"ch2sl10"
2 つの数値を 2 つの変数に格納したいと思います。match
前後の数字を抽出する使い方はあります"sl"
か?match
抽出を行うための正しい機能でしょうか?
どうも
はい、match
行く方法です:
var matches = str.match(/(\d+)sl(\d+)/);
var number1 = Number(matches[1]);
var number2 = Number(matches[2]);
文字列が常に"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]
さまざまな方法で物事を達成する方法を示すための代替手段として
var str = "ch2sl10";
var num1 = +(str.split("sl")[0].match(/\d+/));
var num2 = +(str.split("sl")[1].match(/\d+/));