从输入字符串中获取特定字符串

时间:2016-06-28 03:03:53

标签: javascript string substring indexof

我需要以javascript格式提取特定字符串:“STATE:ip reachable”来自另一组字符串我有输入。

从提取的字符串中,我需要提取两个数字。

我到目前为止做的是:

var str=<the input value>;

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

}

我发现如何提取数字有困难。

3 个答案:

答案 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]);
  }
}

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