在我的应用程序中,我附加了一个字符串来创建生成 URL 的路径。现在我想在按下后退按钮时删除附加的字符串。
假设这是字符串:
/String1/String2/String3/String4/String5
现在我想要一个这样的字符串:
/String1/String2/String3/String4/
我怎样才能做到这一点?
在我的应用程序中,我附加了一个字符串来创建生成 URL 的路径。现在我想在按下后退按钮时删除附加的字符串。
假设这是字符串:
/String1/String2/String3/String4/String5
现在我想要一个这样的字符串:
/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("/"))
您可以使用空安全的org.apache.commons.lang3.StringUtils.substringBeforeLast 。
从javadoc:
// The symbol * is used to indicate any input including null.
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"
Maven依赖:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8</version>
</dependency>
最简单的方法是...
String path = "http://zareahmer.com/questions/anystring";
int pos = path.lastIndexOf("/");
String x =path.substring(pos+1 , path.length()-1);
现在
x
有值stringAfterlastOccurence
内普斯特回答的第三行应该是
String x =path.substring(pos+1 , path.length());
而不是 String x =path.substring(pos+1 , path.length()-1);
因为substring()
方法将end+1 偏移量作为第二个参数。