Java quote.split只有1个字

时间:2014-03-15 15:20:05

标签: java split

我正在用java创建一个程序,它可以像开放程序一样为你做各种事情。 我想知道是否可以使用.split函数只记住必须拆分的部分后的1个单词。

这就是现在的工作方式;

User: Can you open chrome? (this is where the program looks for the word 'open' and saves all that comes after it)
Program: Sure, I'll open chrome for you. (chrome opens)

现在,我希望它只记住“打开”一词之后的第一个单词。 这可能吗? 如果是这样,最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

使用正则表达式获取open之后的字符串可能是最灵活的方式:

  public static void main(String args[]) {


     String line = "Will you open chrome?";
     //will get everything after open, including punctuation like the question mark.
     //You need to modify the regex if that's not what you want.
     String pattern = "open (.*)";

     // Create a Pattern object
     Pattern r = Pattern.compile(pattern);

     // Now create matcher object.
     Matcher m = r.matcher(line);

     if (m.find()) {
        System.out.println("Value after open is: " + m.group(1));
     } else {
        System.out.println("NO MATCH");
     }
  }

返回:Value after open is: chrome?

如果您不想要问号,请更新正则表达式以从匹配组中排除问号:

String pattern = "open (.*)\\?";

答案 1 :(得分:0)

最简单的方法:

String command=line.split("open\\s*\\b")[1];

您需要检查分割字符串的索引,依此类推,但这应该有效。