我正在使用 inputstreamer 来检索连续运行的 shell 命令的输出,以提供输出。
我成功地通过在此处打印来隔离 shell 输出的一部分:System.out.println(inputStr.substring(inputStr.lastIndexOf("")+1));
但是,我想将输出存储在两个数组中的任意一个中,具体取决于 shell 输出的表达式。
假设我们有两个遵循以下语法的 shell 输出:第一个为 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
存储在不同的数组中。
我该怎么做?
最佳答案
你可以这样做:
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
}
}
关于Java:将字符串的特定部分存储到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39965363/