Java:将字符串的特定部分存储到数组

时间:2016-10-10 19:26:22

标签: java regex shell

我正在使用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存储在不同的数组中。

我该怎么做?

1 个答案:

答案 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
    }
}