Java Read如何读取第一个单词,然后读取其余的输入

时间:2013-03-01 04:22:14

标签: java token java.util.scanner tokenize

我无法弄清楚如何读取输入线的其余部分。我需要标记第一个单词然后可能创建输入行的其余部分作为一个完整的标记

public Command getCommand() 
{
    String inputLine;   // will hold the full input line
    String word1 = null;
    String word2 = null;

    System.out.print("> ");     // print prompt

    inputLine = reader.nextLine();

    // Find up to two words on the line.
    Scanner tokenizer = new Scanner(inputLine);
    if(tokenizer.hasNext()) {
        word1 = tokenizer.next();      // get first word
        if(tokenizer.hasNext()) {
            word2 = tokenizer.next();     // get second word
            // note: just ignores the rest of the input line.
        }
    }

    // Now check whether this word is known. If so, create a command
    // with it. If not, create a "null" command (for unknown command).
    if(commands.isCommand(word1)) {
        return new Command(word1, word2);
    }
    else {
        return new Command(null, word2); 
    }
}

输入:

take spinning wheel

输出:

spinning

期望的输出:

spinning wheel

4 个答案:

答案 0 :(得分:3)

使用split()
String[] line = scan.nextLine().split(" ");
String firstWord = line[0];
String secondWord = line[1];

这意味着您需要在空间拆分线并将其转换为数组。现在使用yhe索引你可以得到你想要的任何单词

答案 1 :(得分:0)

或 -

String inputLine =//Your Read line
String desiredOutput=inputLine.substring(inputLine.indexOf(" ")+1)

答案 2 :(得分:0)

你也可以尝试这样......

String s = "This is Testing Result";
System.out.println(s.split(" ")[0]);
System.out.println(s.substring(s.split(" ")[0].length()+1, s.length()-1));

答案 3 :(得分:0)

使用split(String regex, int limit)

String[] line = scan.nextLine().split(" ", 2);

String firstWord = line[0];

String rest= line[1];

在此处参考doc