Java 扫描仪功能 - 如何从字符串中抓取某个单词或单词



所以,我正在将一行文本读入扫描仪变量,一个例子看起来像这样:

    Scanner strLine = new Scanner("Peter has red hair and is very tall");

然后我想提取字符串的某些方面并将其应用于单个字符串变量:

    String name = "Peter"
    String hairColor = "red hair"
    String height = "very tall"

我尝试过"for"语句来寻找单词"has",然后用以下方法抓取接下来的 2 个单词:

    String hairColor = strLine.next() + strLine.next();

除了扫描仪之外,有没有更简单的方法来阅读一行文本并从中提取个人信息?

谢谢。

我会使用 split,然后将结果转储到列表中

    String text = "Peter has red hair and is very tall";
    List<String> words = Arrays.asList(text.split(" "));
    int hasIndex = words.indexOf("has");
    if (hasIndex != -1) {
        System.out.println(words.get(hasIndex + 1) + " " + words.get(hasIndex + 2));
    }

当然应该注意越界错误