Удалить косую черту из строки в Java - PullRequest
1 голос
/ 03 апреля 2012

Я пытаюсь удалить последний символ из строки, если это /. Я использую строковый массив temp[] для хранения строк.

Вот мой код:

char ch = ' ';
for (int st = 0; st < temp.length; st++)
{
    ch = temp[st].charAt(temp[st].length()-1);
    if (ch == '/')
        temp[st] = temp[st].substring(0, temp[st].length()-1);
    result2.append(temp[st]);
}

но я получаю

StringIndexOutOfBoundsException -1

Что я делаю не так?

Ответы [ 4 ]

21 голосов
/ 03 апреля 2012

Удалить последний символ, если это / java

str = str.replaceAll("/$", "");
12 голосов
/ 03 апреля 2012

Если вы хотите удалить только завершающий символ '/', это должно сделать это:

if (str.endsWith("/"))
    return str.substring(0,str.length()-1);
else
    return str;
4 голосов
/ 03 апреля 2012

Вы можете сделать это с помощью регулярного выражения, используя replaceFirst (регулярное выражение, строка) метод:

String newString = tmp.replaceFirst("/$", "");

1 голос
/ 03 апреля 2012

Если у вас пустая строка "", тогда temp[st].length()-1 == -1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...