如何从字符串中间解析数字

Vin*_*owe 1 javascript apache-flex flex3 actionscript-3

我需要从字符串中解析一些数字,我可以很容易地得到最后一个数字但是想知道如何可靠地得到数字中间字符串.在这种情况下12号?

var mystring = 'group 999999999 group-session-info 12 of 50';
var i;
var num; //how to get num "12"
var numOf;
i= mystring.lastIndexOf(" ");
if (i != -1) {
   numOf= mystring.substr(i);
}
alert(numOf); // = 50
Run Code Online (Sandbox Code Playgroud)

谢谢

Yu *_* Wu 7

尝试使用正则表达式从字符串中提取所有数字

var mystring = 'group 999999999 group-session-info 12 of 50';
var r = /\d+/g;
mystring.match(r)
Run Code Online (Sandbox Code Playgroud)

最后一句将产生一个数组:['999999999','12','50']

但是目前数组中的每个元素都是一个字符串.使用parseInt()可以将它们转换为数字.

希望这可以帮助.


Raf*_*kee 5

如果项目始终采用提供的格式.我会分裂使用空格字符.

var mystring = 'group 999999999 group-session-info 12 of 50';
var num = parseInt(mystring.split(' ')[3]); // 4th item which is 12
Run Code Online (Sandbox Code Playgroud)

  • @BotMaster - 根据提出的问题,答案是有效的.Vince-Lowe意识到他正在处理字符串,并希望从提供的字符串中提取"12".提取后他做了什么取决于他.如果他想要整数,我已经更新了我的答案,告诉他如何.但是,我不同意你对我的答案不完整的评论. (2认同)