【问题标题】:Get a particular string from the input string从输入字符串中获取特定字符串
【发布时间】:2016-06-28 03:03:52
【问题描述】:

我需要从我作为输入的另一组字符串中提取格式为“STATE: ip reachable”的 javascript 中的特定字符串。

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

到目前为止我所做的是:

var str=<the input value>;

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

}

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

【问题讨论】:

  • 正则表达式?

标签: javascript string substring indexof


【解决方案1】:

我不太明白“数字”是什么,但我试过了:

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】:

    使用正则表达式...类似这样:

    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>");
    }
    

    【讨论】:

      【解决方案3】:

      如果您确定字符串中的模式,可以使用以下代码:

      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/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-20
        • 2017-07-28
        • 1970-01-01
        • 1970-01-01
        • 2011-10-06
        • 1970-01-01
        • 2016-11-24
        • 1970-01-01
        相关资源
        最近更新 更多