Jaki jest najprostszy sposób na uzyskanie ostatniego słowa ciągu w Javie? Nie można przyjmować interpunkcji (tylko znaki alfabetyczne i białe znaki).Java: Najprostszy sposób na uzyskanie ostatniego słowa w ciągu znaków
Odpowiedz
String test = "This is a sentence";
String lastWord = test.substring(test.lastIndexOf(" ")+1);
Potrzebuje +1 i kończy się niepowodzeniem na pojedynczym słowie. – marcog
Jedna linia jest fajna, ponieważ użyję jej w kodzie szablonu prędkości. Można połączyć z regularną ekspedycją, aby uwzględnić inne znaki, takie jak rozwiązanie JST. – Muhd
Właściwie to jest lepsze, już zawiera pojedyncze słowo: String lastWord = test.substring (test.lastIndexOf ("") +1); – Muhd
String testString = "This is a sentence";
String[] parts = testString.split(" ");
String lastWord = parts[parts.length - 1];
System.out.println(lastWord); // "sentence"
To jest rozwiązanie, które pewnie wymyśliłbym sam, nieźle, ale jednolinijkowy byłby lepszy. – Muhd
Kiedy mówisz "najszybszy", masz na myśli najkrótszy kod lub najszybszy do wykonania? Może to zostać przekształcone w jeden liniowiec, ale nie będzie on działał szybciej i będzie trudniejszy do odczytania. –
Nie powiedziałem "najszybszy", powiedziałem "najprostszy", przez co miałem na myśli połączenie zwięzłości i łatwości zrozumienia. – Muhd
Jeśli inne znaki odstępu możliwe jest, to, czego chcesz:
testString.split("\\s+");
można zrobić z StringUtils
(od Apache Commons Lang). Uniknie magii indeksu, więc łatwiej ją zrozumieć. Niestety substringAfterLast
zwraca pusty łańcuch, gdy nie ma separatora w łańcuchu wejściowym, więc potrzebujemy instrukcji if
dla tego przypadku.
public static String getLastWord(String input) {
String wordSeparator = " ";
boolean inputIsOnlyOneWord = !StringUtils.contains(input, wordSeparator);
if (inputIsOnlyOneWord) {
return input;
}
return StringUtils.substringAfterLast(input, wordSeparator);
}
Oto sposób, aby to zrobić za pomocą String
„s wbudowaną regex możliwości:
String lastWord = sentence.replaceAll("^.*?(\\w+)\\W*$", "$1");
Chodzi o to, aby dopasować cały ciąg z ^
do $
, uchwycić ostatniej sekwencji \w+
w grupie przechwytującej 1 i zastąpienie całego zdania przy użyciu $1
.
- 1. Najprostszym sposobem na uzyskanie każdego słowa oprócz ostatniego słowa z ciągu znaków
- 2. Uzyskiwanie ostatniego słowa z ciągu znaków w JavaScript
- 3. Zapytanie SQL Server o usunięcie ostatniego słowa z ciągu znaków
- 4. Kafka - najprostszy sposób na uzyskanie ostatniej offsetu
- 5. Excel: dopasowanie ostatniego znaku/ciągu w ciągu znaków
- 6. Najprostszy sposób na uzyskanie odpowiednika "znajdź". w python?
- 7. Jak odwrócić słowa w ciągu znaków?
- 8. Zdobądź pierwszą literę każdego słowa w ciągu znaków, w JavaScript
- 9. Usunięcie określonego słowa z ciągu znaków
- 10. Dzielenie ostatniego separatora w ciągu znaków w języku Python?
- 11. Python: zamień terminy w ciągu znaków z wyjątkiem ostatniego
- 12. Znajdowanie ostatniego indeksu łańcucha znaków w Oracle
- 13. Odnajdywanie otaczającego zdania znaku/słowa w ciągu znaków
- 14. MySql - sposób na aktualizację części ciągu znaków?
- 15. Sortowanie pojedynczego ciągu znaków w języku Java
- 16. Jak wpisywać cudzysłowy w ciągu znaków Java?
- 17. Używając JavaScript, aby znaleźć najczęstsze słowa w ciągu znaków?
- 18. Pierwsze dwa pierwsze słowa z ciągu znaków w php
- 19. Wyszukiwanie słowa w ciągu znaków za pomocą funkcji php
- 20. Jaki jest najprostszy sposób na uzyskanie szerokości i długości geograficznej użytkownika z adresu IP?
- 21. liczyć określone znaki w ciągu znaków (Java)
- 22. Wyodrębnij ostatnie słowo w ciągu znaków w R
- 23. numer z ciągu znaków w java
- 24. Jaki jest najprostszy sposób na uzyskanie wszystkich ciągów, które nie zaczynają się od postaci?
- 25. Najprostszy sposób na uzyskanie liczby miejsc po przecinku w liczbie w kodzie JavaScript
- 26. Najprostszy sposób na pobranie pliku?
- 27. Wyszukaj słowo w ciągu znaków
- 28. Jaki jest właściwy sposób konwertowania słowa kluczowego clojure ze spacjami na ciąg znaków?
- 29. Najprostszy sposób na utworzenie strumienia z obiektu Java?
- 30. Formatowanie ciągu znaków na 10 znaków
pokrewne: http://stackoverflow.com/questions/1181969/java-get-last-element-after-split – GreenMatt
Tytuł mówi "najszybszych", pytania prosi o "najprostsza". Proszę o wyjaśnienie. – z5h
Najszybszy i najprostszy do kodowania i czytania. Czas wykonania jest nieistotny. Na marginesie, posiadanie innego sformułowania jest lepsze dla celów wyszukiwania, chociaż rozbieżność była niezamierzona. – Muhd