从字符串值中读取子字符串

时间:2012-12-16 18:36:42

标签: java cmd

我为Windows编写了一个Java命令行应用程序,并将该cmd的结果存储在一个字符串变量中。

我的问题是:是否有可能从我存储cmd输出的变量中获取子字符串?

如果在cmd输出字符串变量中找到子字符串,我想放置一个创建操作的语句。

以下是应用程序类的方法:

public static void main(String[] args) throws IOException, InterruptedException
{
    runWndCommand("ping 192.168.11.3");
}

public static void runWndCommand(String cmd) throws IOException, InterruptedException
{
    Runtime runtime = Runtime.getRuntime();
    Process p = runtime.exec(new String[] { "cmd.exe", "/C", cmd });

    Scanner reader = new Scanner(p.getInputStream());

     while (reader.hasNext())
     {
        String r=reader.nextLine();
        System.out.println(r);
     }
     p.waitFor();
 }

2 个答案:

答案 0 :(得分:1)

示例中如何使用contains()的简短示例:

String r = reader.nextLine();

System.out.println(r);

if (r.contains("abc")) {
    System.out.println("abc found");
} else {
    System.out.println("abc not found");
}

如果abc found"abc"中的子字符串,则会打印r

答案 1 :(得分:0)

考虑java.util.regex.Pattern,它是一种更灵活的方法来测试字符串是否包含您期望的内容