我需要以javascript格式提取特定字符串:“STATE:ip reachable”来自另一组字符串我有输入。
从提取的字符串中,我需要提取两个数字。
我到目前为止做的是:
var str=<the input value>;
if(str.contains("STATE"))
{
var str = str.substring(str.indexOf("STATE"), string.indexOf("reachable");
}
我发现如何提取数字有困难。
答案 0 :(得分:0)
使用正则表达式......类似这样:
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>");
}
答案 1 :(得分:0)
我真的不明白'数字'是什么,但我试过了:
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];
答案 2 :(得分:0)
如果您确定字符串中的模式,可以使用以下代码:
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]);
}
}