您好,我有一个程序,您可以在其中键入不同的命令。我目前唯一的命令是ping命令。键入ping后跟IP地址。
示例:ping 192.167.2.1
我想从这个ping得到一个结果所以我这样做:
String ip = ""+l6+l7+l8+l9+l10+l11+l12+l13+l14+l15+l16;
String pingResult = "";
String pingCmd = "ping " + ip;
try {
Runtime r = Runtime.getRuntime();
Process p = r.exec(pingCmd);
BufferedReader in = new BufferedReader(new
InputStreamReader(p.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
pingResult += inputLine;
}
in.close();
} catch (IOException e) {
System.out.println(e);
}
当我按下一个键时,键值存储在一个字符串中。
如果l1
等于null
,则该值会存储在l1
中,
如果l1
不为空且l2
为空,则按下的下一个键存储在l2
中,依此类推。
您可以按的最大键数为20.当您按Enter键时,所有字符串将组合在一起形成一个大字符串。我希望能够拆分那个大字符串并取走字母并留下数字。我怎么能这样做。
答案 0 :(得分:1)
这将替换所有字母并仅留下数字:
ip = ip.replaceAll("[a-zA-Z]", "");
答案 1 :(得分:0)
我建议使用这个:
ip = ip.replaceAll("[\\D&&[^\\.]]", "");
它将删除除“。”之外的所有非数字字符。我认为你需要形成一个正确的IP(你在描述中遗漏的东西)。