我使用inputstreamer来检索连续运行的shell命令的输出以提供输出。Java:将字符串的特定部分存储到数组中
我已经设法在这里打印出来的外壳输出的一部分隔离:System.out.println(inputStr.substring(inputStr.lastIndexOf(" ")+1));
不过,我想输出存储在以下两种arrrays的,这取决于外壳输出的表达。
说,我们有如下这样的语法两个壳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
存储在另一个数组中。
我该怎么办?
你可以使用'regex' ... – brso05
我对正则表达式阅读起来了。你将如何使用正则表达式来区分'>'192.168.0.XX.XXX的哪一侧? xx.xxx可以在任何给定的时间改变。只有192.168.0是恒定的:) – cbll
你可以解析像(ip,left_side,right_side,psx,number)这样的对象的整个输入,然后比较你的左边是否以192.168.0开头 – Erik