在Java中,我们有indexOf
和lastIndexOf
。有lastSubstring
之类的东西吗?它应该像:
"aaple".lastSubstring(0, 1) = "e";
答案 0 :(得分:11)
不在标准Java API中,但是......
Apache Commons在StringUtils中有很多方便的String帮助器方法
......包括 StringUtils.right( “苹果”,1)
从commons.apache.org
获取commons-lang.jar的副本答案 1 :(得分:3)
概括其他响应,您可以按如下方式实现lastSubstring:
s.substring(s.length()-endIndex,s.length()-beginIndex);
答案 2 :(得分:2)
答案 3 :(得分:0)
那不就是
String string = "aaple";
string.subString(string.length() - 1, string.length());
答案 4 :(得分:0)
您可以使用String.length()和String.length() - 1
答案 5 :(得分:0)
对于那些希望在一些结束分隔符之后获得子字符串的人,例如解析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") = ""
答案 6 :(得分:-1)
我不知道substring()
的那种对应物,但它并不是真的有必要。您无法使用indexOf()
有效地查找具有给定值的最后一个索引,因此lastIndexOf()
是必需的。要了解您尝试使用lastSubstring()
的内容,您可以有效地使用substring()
。
String str = "aaple";
str.substring(str.length() - 2, str.length() - 1).equals("e");
所以,实际上并不需要lastSubstring()
。