【问题标题】: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/