如何获得符号每一侧的数字

时间:2016-09-04 22:06:14

标签: javascript

如何使用Javascript获取符号每一侧的数字?

实施例。从1421获取extra chars 14 + 21 extra charsextra chars 14+21 extraChars

我使用var ary = 'extra chars 14 + 21 extra chars'.split(' ')indexOf('+')+1以及indexOf('+')-1了解了14 + 21,但这对14+21无效。

我该怎么做才能支持多个符号呢?

2 个答案:

答案 0 :(得分:2)

您可以使用类似的正则表达式......

var re = /(\d*) *\+ *(\d*)/g; 
var str = 'extra chars 14 + 21 extra chars';
var m;

while ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex) {
        re.lastIndex++;
    }
    console.log(m[0]);
    console.log(m[1]);
    console.log(m[2]);
}

答案 1 :(得分:2)

这是一个正则表达式问题......

如果您使用JavaScript,为什么不:

var rx = /(\d+)[\s+]*(\d+)/;
if (var result = rx.exec(input))
{
    var first = parseInt( result[1] );
    var second = parseInt( result[2] );

    var answer = first + second;
    //do something with answer here
}