我正在使用inputstreamer来检索连续运行的shell命令的输出,并提供输出。
我已设法通过在此处打印来隔离部分shell输出:System.out.println(inputStr.substring(inputStr.lastIndexOf(" ")+1));
但是,我想将输出存储在两个arrrays中的任何一个中,具体取决于shell输出的表达式。
假设我们有两个shell outpust遵循这种语法:IP 192.168.0.12.4588 > 212.98.120.24.443 psx 4488
作为第一个,反之亦然:IP 212.98.120.24.443 > 192.168.0.12.4588 psx 12
从上面的印刷品中,我可以隔离并打印4488
以及12
。但是如果192.168.0.x.x是第一个IP,则值4448
将存储在特定数组中。同样,如果> 192.168.0.x.x在另一边,我想将值12
存储在不同的数组中。
我该怎么做?
答案 0 :(得分:2)
你可以这样做:
public static void main(String[] args)
{
String temp = "IP 212.98.120.24.443 > 192.168.0.12.4588 psx 12";
if(temp.matches(".*192\\.168\\.0\\..*>.*"))
{
System.out.println("1st");
//your code here
}
else if(temp.matches(".*>.*192\\.168\\.0\\..*"))
{
System.out.println("2nd");
//your code here
}
}