2016-09-04 1 views
0

Wie bekomme ich die Zahlen auf jeder Seite eines Symbols mit Javascript?Wie bekomme ich Zahlen auf jeder Seite eines Symbols?

Ex. Get 14 und 21 von extra chars 14 + 21 extra chars oder extra chars 14+21 extraChars.

hatte ich eine Idee für 14 + 21 mit var ary = 'extra chars 14 + 21 extra chars'.split(' ') und indexOf('+')+1 und indexOf('+')-1 aber für 14+21 funktioniert nicht.

Wie würde ich dies tun, damit es auch mehrere Symbole unterstützt?

+0

Teilen durch '+'? –

Antwort

2

können Sie reguläre Ausdrücke so etwas verwenden ...

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

Ich werde die Antwort akzeptieren, wenn ich kann. Danke für die schnelle Antwort! – Hawkeye

2

Dies ist eine Regex Frage ....

Wenn Sie in JavaScript sind, warum nicht:

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 
} 
+0

Um mehrere Symbole zu unterstützen, möchten Sie die Regex ändern und eine switch-Anweisung hinzufügen –

Verwandte Themen