2

文字列「RowNumber5」があり、Javascript を使用してその文字列から数値「5」を取得したいと考えています。

注: 数値は常に末尾のアルファベットの後にあります。つまり、数値がアルファベットの間に出現することはありません。例 -

 Result45 - Yes
 Result45Abc - Never

この「5」は次のようなもので取得できます

var t = "Ruby12";
var y = parseInt(t.split('').reverse().join(""));
if(!isNaN(y)) {
    y = y.toString().split('').reverse().join("");
}
else {
    y = "";
}
console.log(y);

任意のショットの方法?またはこれに対するより良いアプローチ?

4

4 に答える 4

3

これが正規表現の目的です。

var matches = /\d+$/.exec("Ruby12");
matches[0];  //returns 12

var matches = /\d+$/.exec("sfwfewcsd098");
matches[0];  //returns 098

var matches = /\d+$/.exec("abc"); //matches returns null
于 2013-08-05T12:50:20.887 に答える
1

正規表現のソリューションは次のとおりです。

// input string
var t = "Ruby12";

var num = null;    
var match = t.match(/([0-9]+)$/);    
if(match!=null) num = parseInt(match[1]);

// num now contains null or number

// debug
console.log(num);
于 2013-08-05T12:49:43.473 に答える
1

この正規表現を使ってみてください

var s = "gdgdfg45";
var matches = s.match(/\d+$/);
console.log(matches[0]);
于 2013-08-05T12:49:54.817 に答える