0

我需要类似于“awk { print $1 }”的东西,但对于 java。我有一个字符串,类似于:

单词1 单词2 单词3 单词4 单词5 单词6

如何,我可以从每一行中对第一个单词进行子串?

4

3 回答 3

9
String example = "word1 word2 word3 word4 word5 word6";
String firstWord = example.split(" ", 2)[0];
于 2010-01-11T23:22:53.773 回答
4

如果一行中只有一个单词,这是一个不会失败的解决方案。我假设您已经删除了换行符,并且该空格是唯一允许的分隔符:

    for (String line: lines)
    {
        int index = line.indexOf(' ');
        String firstWord;
        if (index >= 0)
        {
            firstWord = line.substring(0, index);
        }
        else
        {
            firstWord = line;
        }
        System.out.println(firstWord);
    }
于 2010-01-11T23:31:22.383 回答
3
String example = "word1 word2 word3 word4 word5 word6";
int indexOf = example.indexOf(" ");
String firstWord = example.substring(0, indexOf == -1? example.length: indexOf);
于 2010-01-11T23:24:51.957 回答