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

标签 java regex shell

我正在使用 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

从上面的打印中,我可以分离并打印 448812。但如果 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/

相关文章:

java - ProcessBuilder 不接受 git repo 路径

java - 如何使您的桌面 Java 应用程序看起来像 Open Office 或 Eclipse 等?

linux - 默认情况下,zipcloak 将临时文件放在哪里?

linux - 使用 shell 脚本和 awk 格式化然后将 txt 转换为 csv

linux - 用于迭代目录内容的 Bash 脚本仅移动当前未被其他进程打开的文件

java - 重新启动 Activity 时调用 onStop 延迟

java - Azure VM 中的 WASB 是否支持 Kerberos 身份验证?

PHP - 用于路由的正则表达式

python - python中不同格式日期的正则表达式

javascript - 匹配这个或完全匹配那个的正则表达式