删除最后一次出现字符“/”后的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偏移量作为第二个参数。