Удалить строку после последнего появления символа "/" - Android (JAVA)
В моем приложении я добавляю строку для создания пути для создания URL-адреса. Теперь я хочу удалить эту добавленную строку при нажатии кнопки возврата.
Предположим, что это строка:
/String1/String2/String3/String4/String5
Теперь я хочу такую строку:
/String1/String2/String3/String4/
Как я могу это сделать?
Пожалуйста, помогите мне.
Спасибо
Ответы
Ответ 1
Вы можете использовать метод 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)
}
}
Ответ 2
String whatyouaresearching = myString.substring(0, myString.lastIndexOf("/"))
Ответ 3
Самый простой способ...
String path = "http://zareahmer.com/questions/anystring";
int pos = path.lastIndexOf("/");
String x =path.substring(pos+1 , path.length()-1);
теперь x
имеет значение stringAfterlastOccurence
Ответ 4
Вы можете использовать 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"
Ответ 5
Третья строка в ответе Непстера должна быть
String x =path.substring(pos+1 , path.length());
а не String x =path.substring(pos+1 , path.length()-1);
, так как метод substring()
принимает в качестве второго параметра конец + 1 смещение.