I just learned about RegExp yesterday. I’m trying to figure something out: currently in a function I'm iterating through a string that's been split into an array to pull out and add up the numbers within it. There are examples like, 7boy20, 10, 2One, Number*1*, 7Yes9, Sir2, and 8pop2 which need to have the digits extracted.
So far, this only works to detect a single digit match:
var regexp = /(\d+)/g;
I've also tried:
var regexp =/(\d+)(\d?)/g;
...but it was to no avail.
UPDATE: This is the code I've been using, and am trying to fix as some have asked:
var str = "7boy20 10 2One Number*1* 7Yes9 Sir2 8pop2";
//var str = "7Yes9", "Sir2";
//var str = "7boy20";
function NumberAddition(str) {
input = str.split(" ");
var finalAddUp = 0;
var finalArr = [];
for(var i = 0; i<=input.length-1; i++) {
var currentItem = input[i];
var regexp = /(\d+)/g;
finalArr.push(currentItem.match(regexp));
var itemToBeCounted = +finalArr[i];
finalAddUp += itemToBeCounted;
}
console.log(finalArr);
return finalAddUp;
//OUTPUT ---> [ [ '7', '20' ], [ '10' ], [ '2' ], [ '1' ], [ '7', '9' ], [ '2' ], [ '8', '2' ] ] (finalArr)
//OUTPUT --->NaN (finalAddUp)
How would I turn that output into numbers I can add up?
for(var i = 0; i<=input.length-1; i++) { var currentItem = input[i]; var regexp = /(\d+)/g; finalArr.push(currentItem.match(regexp)); //var itemToBeCounted = (+finalArr[i]); //finalAddUp += itemToBeCounted; }