字符串的最后一个子串

时间:2010-05-04 20:59:09

标签: java string

在Java中,我们有indexOflastIndexOf。有lastSubstring之类的东西吗?它应该像:

"aaple".lastSubstring(0, 1) = "e";

7 个答案:

答案 0 :(得分:11)

不在标准Java API中,但是......

Apache Commons在StringUtils中有很多方便的String帮助器方法

......包括 StringUtils.right( “苹果”,1)

http://commons.apache.org/lang/api/org/apache/commons/lang/StringUtils.html#right(java.lang.String,%20int)

从commons.apache.org

获取commons-lang.jar的副本

答案 1 :(得分:3)

概括其他响应,您可以按如下方式实现lastSubstring:

s.substring(s.length()-endIndex,s.length()-beginIndex);

答案 2 :(得分:2)

也许是lasIndexOf(String)

答案 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()