views:

74

answers:

3

Hi

the string looks like this

"blabla blabla-5 amount-10 blabla direction-left"

How can I get the number just after "amount-", and the text just after "direction-" ?

+3  A: 

This uses regular expressions and the exec method:

var s = "blabla blabla-5 amount-10 blabla direction-left";
var amount = parseInt(/amount-(\d+)/.exec(s)[1], 10);
var direction = /direction-([^\s]+)/.exec(s)[1];

The code will cause an error if the amount or direction is missing; if this is possible, check if the result of exec is non-null before indexing into the array that should be returned.

idealmachine
thank you that was it :)
Alex
+2  A: 

You can use regexp as explained by w3schools. Hint:

str = "blabla blabla-5 amount-10 blabla direction-left"
alert(str.match(/amount-([0-9]+)/));

Otherwize you can simply want all numbers so use the pattern [0-9]+ only. str.match would return an array.

Aif
A: 

This will get all the numbers separated by coma:

var str = "10 is smaller than 11 but greater then 9";
var pattern = /[0-9]+/g;
var matches = str.match(pattern);

After execution, the string matches will be have the value "10,11,9"

If You are just looking for thew first occurrence, the pattern will be /[0-9]+/ - which will return 10

(There was is no need for JQuery)

Ed.C