2016-06-28 9 views
0

Ich muss eine bestimmte Zeichenfolge in Javascript des Formats extrahieren: "STATE: ip erreichbar" aus einer anderen Reihe von Zeichenfolge habe ich als Eingabe.Holen Sie sich eine bestimmte Zeichenfolge aus der Eingabezeichenfolge

Aus der extrahierten Zeichenfolge muss ich beide Zahlen extrahieren.

ich bisher getan haben, ist:

var str=<the input value>; 

if(str.contains("STATE")) 
{ 
var str = str.substring(str.indexOf("STATE"), string.indexOf("reachable"); 

} 

ich Schwierigkeiten bin zu finden, wie die Zahlen zu extrahieren.

+0

regulärer Ausdruck? – moped

Antwort

0

Verwenden Sie einen regulären Ausdruck ... etwas wie folgt aus:

var test = "STATE 10.0.0.18 192.168.42.9 reachable"; 
var ips = test.match(/(\d+\.\d+\.\d+\.\d+)/g); 
for (i = 0; i < ips.length; i++) { 
    document.write(ips[i]); 
    document.write("<br>"); 
} 
0

Ich verstehe nicht wirklich, was sind die ‚Zahlen‘, aber ich habe versucht, dass:

var str= "lorem ipsum STATE: 10.0.5.2 120.30.66.8 test ... blabla bla"; 

str = str.slice(str.indexOf("STATE"), str.length); 
var tab = str.split(" "); 
var num1 = tab[1]; 
var num2 = tab[2]; 
0

Wenn Sie in der Kette über das Muster sicher, können Sie unter Code verwenden:

var str = "STATE 10.0.0.18 192.168.42.9 reachable"; 

if (str.indexOf("STATE") >= 0) { 
    var str = str.substring(str.indexOf("STATE ")+6, str.indexOf(" reachable")); 
    var arrIP = str.split(" "); 

    for (i = 0; i < arrIP.length; i++) { 
     alert(arrIP[i]); 
    } 
} 

jsfiddle: https://jsfiddle.net/nikdtu/4nx50b81/