Java:获取字符串中最后一个单词的最简单方法

时间:2011-01-12 18:57:22

标签: java string

在Java中获取字符串的最后一个单词的最简单方法是什么?你可以假设没有标点符号(只是字母字符和空格)。

6 个答案:

答案 0 :(得分:142)

String test =  "This is a sentence";
String lastWord = test.substring(test.lastIndexOf(" ")+1);

答案 1 :(得分:20)

String testString = "This is a sentence";
String[] parts = testString.split(" ");
String lastWord = parts[parts.length - 1];
System.out.println(lastWord); // "sentence"

答案 2 :(得分:11)

如果可能有其他空格字符,那么您需要:

testString.split("\\s+");

答案 3 :(得分:11)

以下是使用String内置正则表达式功能的方法:

String lastWord = sentence.replaceAll("^.*?(\\w+)\\W*$", "$1");

我们的想法是匹配从^$的整个字符串,捕获捕获组1中\w+的最后一个序列,并使用{{替换整个句子} 1}}。

Demo.

答案 4 :(得分:5)

您可以使用StringUtils(来自Apache Commons Lang)执行此操作。它避免了索引魔法,所以它更容易理解。不幸的是,当输入字符串中没有分隔符时,substringAfterLast返回空字符串,因此我们需要if语句来处理该情况。

public static String getLastWord(String input) {
    String wordSeparator = " ";
    boolean inputIsOnlyOneWord = !StringUtils.contains(input, wordSeparator);
    if (inputIsOnlyOneWord) {
        return input;
    }
    return StringUtils.substringAfterLast(input, wordSeparator);
}

答案 5 :(得分:2)

在Kotlin中获得最后一句话:

String.substringAfterLast(" ")