最後一個字符串
回答
不是在標準的Java API,但是......
阿帕奇百科全書有很多的StringUtils的便利的字符串輔助方法
...包括 StringUtils.right( 「蘋果」,1)
只是抓住公地lang.jar的副本從commons.apache.org
很棒的發現。誰寫了commons-lang? – fastcodejava 2010-05-06 06:04:28
很多人! http://commons.apache.org/proper/commons-lang/team-list.html – laher 2013-04-07 22:35:58
那不是僅僅是
String string = "aaple";
string.subString(string.length() - 1, string.length());
?
計算那不是僅僅是'string.subString(string.length減() - 1);'? – 2010-05-04 21:05:55
您可以使用string.length減()和string.length減() - 1
我不知道那種對口到substring()
的,但它是不是真的有必要。你不能有效地找到使用indexOf()
給定值的最後一個索引,所以lastIndexOf()
是必要的。爲了得到你想要做的事lastSubstring()
,你可以有效地使用substring()
。
String str = "aaple";
str.substring(str.length() - 2, str.length() - 1).equals("e");
那麼,有沒有真正需要任何lastSubstring()
。
's.substring(...)==「e」**總是**返回false! – 2010-05-04 21:09:55
那麼,不*總是*(JVM可以重用字符串,但它不必),但你是對的。這不是做正確的方式 - 我還沒有被使用的Java不夠最近... – 2010-05-04 21:11:40
是的,總是(至少對於所有JVM的我用過)。 'substring(...)'創建一個新的字符串,所以'=='將總是返回false。只有.java文件中的字符串文字被合併並重新使用。片段「String a =」foo「的布爾值x;字符串b =「foo」;布爾值x = a == b;'將會是'true'。 – 2010-05-04 21:17:06
歸納其他的反應,可以實現lastSubstring如下:
s.substring(s.length()-endIndex,s.length()-beginIndex);
這個實現的一個好處是它運行在O(1)時間。 – 2010-05-04 21:22:37
對於那些希望得到一個子後,一些結束符,例如解析file.txt
出/some/directory/structure/file.txt
我發現這是很有幫助:StringUtils.substringAfterLast
public static String substringAfterLast(String str,
String separator)
Gets the substring after the last occurrence of a separator. The separator is not returned.
A null string input will return null. An empty ("") string input will return the empty string. An empty or null separator will return the empty string if the input string is not null.
If nothing is found, the empty string is returned.
StringUtils.substringAfterLast(null, *) = null
StringUtils.substringAfterLast("", *) = ""
StringUtils.substringAfterLast(*, "") = ""
StringUtils.substringAfterLast(*, null) = ""
StringUtils.substringAfterLast("abc", "a") = "bc"
StringUtils.substringAfterLast("abcba", "b") = "a"
StringUtils.substringAfterLast("abc", "c") = ""
StringUtils.substringAfterLast("a", "a") = ""
StringUtils.substringAfterLast("a", "z") = ""
- 1. cout:最後一個字符串覆蓋第一個字符串
- 2. 字符串的第一個字符和最後一個字符
- 3. 刪除字符串中最後一個空格後的最後一個字符
- 4. 動態刪除最後一個字符串後/從字符串
- 5. 字符串中最後一個數字
- 6. 字符串:提取最後六個字符後的最後一個/
- 7. C#只寫最後一個字符串
- 8. 刪除最後一個子字符串
- 9. PHP在最後一個字符串
- 10. Java刪除最後一個字符串
- 11. 在字符'?'之後從字符串中獲取最後一個字符串
- 12. 訪問VBA查找字符串的最後一個字符串?
- 13. 只顯示最後一個字符串的字符串數組
- 14. 如何添加字符串最後一個字符串
- 15. 獲取字符串中的最後一個子字符串?
- 16. 僅在最後一個字符更新後保留字符串
- 17. 將最後一個字符串剪成一個字母后用點字符preg_replace
- 18. 如何複製一個字符串的最後13個字符?
- 19. objective-c獲取一個字符串的最後2個字符?
- 20. 替換多個字符串的最後一個字符PHP
- 21. 遍歷C字符串:得到一個字符串的最後一個單詞
- 22. 去掉字符串中的最後一個字符和第一個字符
- 23. 從C字符串中剝離第一個字符和最後一個字符
- 24. 刪除字符串中的最後一個字符和第一個字符
- 25. 獲取一個字符串(JavaScript)的最後一個數字
- 26. 在分隔符後面查找最後一個字符串:Javascript
- 27. 檢索最後一個子字符串和路徑中的最後一個子字符串
- 28. 如何返回最後一個字符串的索引或最後一個字符串的基地址?
- 29. 字符串的最後一個字符應該是一個字母或數字
- 30. 只匹配最後一個下劃線後有字符串的字符串
犯錯,什麼'0'和'1'代表什麼?你的意思是'e'被退回? – 2010-05-04 21:02:22
'indexOf'和'lastIndexOf'都帶一個字符串,並在沒有主字符串的情況下找到它,返回該位置。你似乎正在描述相反的情況;你想有一個版本的'子()'的從端,而不是一開始 – 2010-05-04 21:06:42