Каков самый простой способ получить последнее слово строки в Java? Вы не можете принимать знаки препинания (только буквы и пробелы).
Java: простейший способ получить последнее слово в строке
Ответ 1
String test = "This is a sentence";
String lastWord = test.substring(test.lastIndexOf(" ")+1);
Ответ 2
String testString = "This is a sentence";
String[] parts = testString.split(" ");
String lastWord = parts[parts.length - 1];
System.out.println(lastWord); // "sentence"
Ответ 3
Если возможны другие пробельные символы, вам нужно:
testString.split("\\s+");
Ответ 4
Вот как это сделать, используя встроенные возможности regex String
:
String lastWord = sentence.replaceAll("^.*?(\\w+)\\W*$", "$1");
Идея состоит в том, чтобы сопоставить всю строку от ^
до $
, записать последнюю последовательность \w+
в группу захвата 1 и заменить ее всем предложением с помощью $1
.
Ответ 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);
}
Ответ 6
Получить последнее слово в Kotlin:
String.substringAfterLast(" ")