Подтвердить что ты не робот

Удалить строку после последнего появления символа "/" - Android (JAVA)

В моем приложении я добавляю строку для создания пути для создания URL-адреса. Теперь я хочу удалить эту добавленную строку при нажатии кнопки возврата.

Предположим, что это строка:

/String1/String2/String3/String4/String5

Теперь я хочу такую ​​строку:

/String1/String2/String3/String4/

Как я могу это сделать?

Пожалуйста, помогите мне.

Спасибо

4b9b3361

Ответ 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 смещение.