Cách đơn giản nhất để nhận được từ cuối cùng của một chuỗi trong Java là gì? Bạn có thể giả sử không có dấu chấm câu (chỉ là ký tự chữ cái và khoảng trắng).Java: Cách đơn giản nhất để có được từ cuối cùng trong một chuỗi
Trả lời
String test = "This is a sentence";
String lastWord = test.substring(test.lastIndexOf(" ")+1);
Cần +1 ở đó và không thành công trên một từ. – marcog
Một dòng là tốt đẹp vì tôi sẽ sử dụng nó trong mã mẫu Velocity. Có thể được kết hợp với một expession thường xuyên để tài khoản cho các nhân vật khác như giải pháp của JST. – Muhd
Thực ra điều này tốt hơn, nó đã chiếm một từ duy nhất: 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"
Đây là giải pháp mà tôi có thể tự mình nghĩ ra, không tệ, nhưng một lớp lót sẽ tốt hơn. – Muhd
Khi bạn nói "nhanh nhất", bạn có nghĩa là ngắn nhất trong mã hoặc nhanh nhất để thực hiện? Điều này có thể được làm thành một lớp lót, nhưng nó sẽ không thực hiện nhanh hơn và sẽ khó đọc hơn nhiều. –
Tôi không nói "nhanh nhất", tôi nói "đơn giản nhất", theo đó tôi có nghĩa là một sự kết hợp ngắn gọn và dễ hiểu. – Muhd
Nếu ký tự khoảng trắng khác có thể xảy ra, sau đó bạn muốn:
testString.split("\\s+");
Bạn có thể làm điều đó với StringUtils
(từ Apache Commons Lang). Nó tránh chỉ số ma thuật, vì vậy nó dễ hiểu hơn. Thật không may substringAfterLast
trả về chuỗi rỗng khi không có dấu phân cách trong chuỗi đầu vào, vì vậy chúng tôi cần câu lệnh if
cho trường hợp đó.
public static String getLastWord(String input) {
String wordSeparator = " ";
boolean inputIsOnlyOneWord = !StringUtils.contains(input, wordSeparator);
if (inputIsOnlyOneWord) {
return input;
}
return StringUtils.substringAfterLast(input, wordSeparator);
}
Dưới đây là một cách để làm điều đó bằng String
's tích hợp khả năng regex:
String lastWord = sentence.replaceAll("^.*?(\\w+)\\W*$", "$1");
Ý tưởng là để phù hợp với toàn bộ chuỗi từ ^
để $
, chụp dãy cuối cùng của \w+
trong nhóm chụp 1 và thay thế toàn bộ câu bằng cách sử dụng $1
.
- 1. cách dễ nhất để nhận được mọi từ ngoại trừ từ cuối cùng từ một chuỗi
- 2. đơn giản nhất cách để truy vấn XML trong Java
- 3. Symfony2: Cách đơn giản nhất để có được url RESTful
- 4. cách an toàn nhất để có được ghi lại căn cước cuối cùng từ một bảng
- 5. Chọn một từ cuối cùng từ một chuỗi trong xslt
- 6. Java xóa chuỗi cuối cùng
- 7. Nhận từ cuối cùng từ một chuỗi trong Javascript
- 8. python regex: có được chữ số cuối từ một chuỗi
- 9. Cách đơn giản nhất để phát mp3 từ Visual C++
- 10. Có cách nào đơn giản để có được kích thước của một đối tượng java không?
- 11. Cách đơn giản nhất để song song một tác vụ trong java là gì?
- 12. StringBuilder: làm thế nào để có được chuỗi cuối cùng?
- 13. Cách đơn giản để chuyển đổi một chuỗi để một cuốn từ điển
- 14. Cách đơn giản để chạy tập lệnh sqlplus từ java
- 15. cách đơn giản nhất, ngắn nhất để đếm chữ in hoa trong chuỗi bằng php?
- 16. Có cách nào nhanh chóng để lấy hai ký tự cuối cùng trong một chuỗi không?
- 17. C# - Cách đơn giản nhất để loại bỏ sự xuất hiện đầu tiên của chuỗi con từ một chuỗi khác
- 18. Kiểm tra đơn vị cuối cùng chặn trong Java 6
- 19. Cách đơn giản nhất để tăng ngày trong PHP?
- 20. Làm cách nào để có được 7 ký tự cuối cùng của một chuỗi PHP?
- 21. Cách tốt nhất để lấy id được chèn cuối cùng bằng cách sử dụng sqlite từ Java là gì?
- 22. Cách lấy giá trị từ hàng được chèn cuối cùng?
- 23. Sử dụng regexp_instr để có được số cuối cùng trong một chuỗi
- 24. nhận từ cuối cùng trong một chuỗi được mã hóa trong groovy
- 25. R xóa từ cuối cùng khỏi chuỗi
- 26. Việc xác định một Chuỗi cuối cùng trong Java có hợp lý không?
- 27. Mục tiêu-C Cách đơn giản nhất để tạo chuỗi phân cách bằng dấu phẩy từ một mảng đối tượng
- 28. Xác định hàng cuối cùng trong một cột đơn
- 29. Cách đơn giản để có được loại lớp bao bọc trong Java
- 30. làm thế nào để có được char cuối cùng của một chuỗi trong PHP?
liên quan: http://stackoverflow.com/questions/1181969/java-get-last-element-after-split – GreenMatt
Tiêu đề nói "nhanh nhất", câu hỏi yêu cầu "đơn giản nhất". Vui lòng làm rõ. – z5h
Nhanh nhất và đơn giản nhất để viết mã và đọc. Thời gian thực hiện không liên quan. Là một sang một bên, có từ ngữ khác nhau là tốt hơn cho các mục đích tìm kiếm mặc dù sự khác biệt là vô ý. – Muhd