在Java中从String中删除尾部斜杠

时间:2012-04-03 12:01:00

标签: java string char arrays

我正在尝试从字符串中删除最后一个字符,如果它是/。我使用字符串数组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

我做错了什么?

5 个答案:

答案 0 :(得分:21)

  

删除最后一个字符(如果是/ java

str = str.replaceAll("/$", "");

答案 1 :(得分:12)

如果你只想删除一个尾随的'/',这应该这样做:

if (str.endsWith("/"))
    return str.substring(0,str.length()-1);
else
    return str;

答案 2 :(得分:4)

您可以使用replaceFirst(regex, string)方法使用正则表达式执行此操作:

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

答案 3 :(得分:1)

如果你有空字符串"",那么temp[st].length()-1 == -1

答案 4 :(得分:1)

StringUtils具有这个微妙的小方法,称为:removeEnd(String str, String remove)

String result = StringUtils.removeEnd(string, "/")

仅当它是此搜索的片段时,它才会删除字符串的结尾。否则,此方法将返回相同的,不变的字符串。