在Java中,获取字符串最后一个单词的最简单方法是什么?假设没有标点符号(只有字母和空格)。
String test = "This is a sentence";
String lastWord = test.substring(test.lastIndexOf(" ")+1);
String testString = "This is a sentence";
String[] parts = testString.split(" ");
String lastWord = parts[parts.length - 1];
System.out.println(lastWord); // "sentence"
String
内置的正则表达式功能进行操作的方法:String lastWord = sentence.replaceAll("^.*?(\\w+)\\W*$", "$1");
^
到$
的整个字符串,在捕获组1中捕获最后一个\w+
序列,并使用$1
将整个句子替换为它。
如果可能存在其他空白字符,那么您需要:
testString.split("\\s+");
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);
}
获取Kotlin中的最后一个单词:
String.substringAfterLast(" ")
String s="print last word";
x:for(int i=s.length()-1;i>=0;i--) {
if(s.charAt(i)==' ') {
for(int j=i+1;j<s.length();j++) {
System.out.print(s.charAt(j));
}
break x;
}
}