删除最后一次出现字符“/”后的string – Android(JAVA)

在我的应用程序中,我附加了string来创build生成URL的path。 现在我想要删除附加的string按下后退button。

假设这是string:

/String1/String2/String3/String4/String5 

现在我想要一个像这样的string:

 /String1/String2/String3/String4/ 

我怎样才能做到这一点??

请帮帮我。

谢谢

你可以使用lastIndexOf()方法

 if (null != str && str.length() > 0 ) { int endIndex = str.lastIndexOf("/"); if (endIndex != -1) { String newstr = str.substring(0, endIndex); // not forgot to put check if(endIndex != -1) } } 
 String whatyouaresearching = myString.substring(0, myString.lastIndexOf("/")) 

最简单的方法是…

  String path = "http://zareahmer.com/questions/anystring"; int pos = path.lastIndexOf("/"); String x =path.substring(pos+1 , path.length()-1); 

现在x的值为stringAfterlastOccurence

您可以使用无效的apache.commons.lang.StringUtils.substringBeforeLast(str,separator) 。

从javadoc:

 StringUtils.substringBeforeLast(null, *) = null StringUtils.substringBeforeLast("", *) = "" StringUtils.substringBeforeLast("abcba", "b") = "abc" StringUtils.substringBeforeLast("abc", "c") = "ab" StringUtils.substringBeforeLast("a", "a") = "" StringUtils.substringBeforeLast("a", "z") = "a" StringUtils.substringBeforeLast("a", null) = "a" StringUtils.substringBeforeLast("a", "") = "a" 

Nepster答案的第三行应该是

String x =path.substring(pos+1 , path.length());

而不是String x =path.substring(pos+1 , path.length()-1); 因为substring()方法将结束+ 1偏移量作为第二个参数。