0

So if I had the following string:

'(01) Kyle Hall - Osc (04) Cygnus - Artereole (07) Forgemasters - Metalic (10) The Todd Terry Project - Back to the Beat (14) Broken Glass - Style of the Street'

I could look through the string and push any numbers in the string to an array, which would look like this:

[01,04,07,10,14]
0

2 Answers 2

5

Use a regular expression:

var numbers = str.match(/\d+/g);

This will result in ["01", "04", "07", "10", "14"] (array of strings). If the type of the elements matters to you you can follow up with .map(Number) to convert to numbers:

var reallyNumbers = str.match(/\d+/g).map(Number);

which will result in [1, 4, 7, 10, 14].

Note that map is not available in IE earlier than version 9, so depending on your compat requirements you might need a polyfill. There's a ready-made one on MDN.

Sign up to request clarification or add additional context in comments.

2 Comments

I think he wants numbers in the output array.
@DaniloValente: It shouldn't make a difference in almost all cases. But I expanded the answer accordingly.
1
var str = '(01) Kyle Hall - Osc (04) Cygnus - Artereole (07) Forgemasters - Metalic (10) The Todd Terry Project - Back to the Beat (14) Broken Glass - Style of the Street';
var nums = str.match(/\d+/g);
nums.map(function (num) {
    return parseInt(num, 10);
});

For browsers that does not support Array.prototype.map, use this code:

var str = '(01) Kyle Hall - Osc (04) Cygnus - Artereole (07) Forgemasters - Metalic (10) The Todd Terry Project - Back to the Beat (14) Broken Glass - Style of the Street';
var nums = str.match(/\d+/g);
for (var i = 0; i < str.length; i++) {
    str[i] = parseInt(str[i], 10);
}

1 Comment

Note that you should always specify the radix with parseInt. As it stands this code should be considered buggy.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.