如何使用Javascript获取符号每一侧的数字?
实施例。从14
或21
获取extra chars 14 + 21 extra chars
和extra chars 14+21 extraChars
。
我使用var ary = 'extra chars 14 + 21 extra chars'.split(' ')
和indexOf('+')+1
以及indexOf('+')-1
了解了14 + 21,但这对14+21
无效。
我该怎么做才能支持多个符号呢?
答案 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
}