Osc*_*Ryz 147
String test = "This is a sentence";
String lastWord = test.substring(test.lastIndexOf(" ")+1);
Run Code Online (Sandbox Code Playgroud)
Dav*_*and 20
String testString = "This is a sentence";
String[] parts = testString.split(" ");
String lastWord = parts[parts.length - 1];
System.out.println(lastWord); // "sentence"
Run Code Online (Sandbox Code Playgroud)
das*_*ght 11
以下是使用String
内置正则表达式功能的方法:
String lastWord = sentence.replaceAll("^.*?(\\w+)\\W*$", "$1");
Run Code Online (Sandbox Code Playgroud)
我们的想法是整个字符串从匹配^
到$
,拍摄的最后一个序列\w+
中捕获组1,并用它代替使用整个句子$1
.
您可以使用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);
}
Run Code Online (Sandbox Code Playgroud)