字符串索引超出范围:-1。

时间:2015-11-17 15:02:31

标签: java substring indexoutofboundsexception indexoutofrangeexception

我编写了一种方法,将html代码存储为字符串,并将此html代码中的图像与我选择的图像交换。我不断得到String index out of range: -1例外。我不明白我可以走出界限。有人看看我的代码并给我一个提示吗?

    public static String replaceImgs(String htmlCode){
    String finalString = "";
    String toFind = "img src=\"";
    String imgReplace = "img src=\"http://media4.popsugar-assets.com/files/2014/08/08/878/n/1922507/caef16ec354ca23b_thumb_temp_cover_file32304521407524949.xxxlarge/i/Funny-Cat-GIFs.jpg";
    String tagReplace = "\">";
    String rest = "";

    int index = htmlCode.indexOf(toFind);
    String firstString = htmlCode.substring(0, index);

    rest = htmlCode.substring(index+1, htmlCode.length());
    index = rest.indexOf(tagReplace);

    String secondString = rest.substring(index, rest.length());
    finalString = firstString.concat(imgReplace).concat(secondString);
    return finalString;
}     

2 个答案:

答案 0 :(得分:1)

String.indexOf()方法如果找不到则返回-1,并在代码中忽略它。可能是你目前的问题

BTW,请注意String.substring(begin,end)方法返回一个字符串,开始索引(包括),直到结束索引(独占)。

答案 1 :(得分:0)

如果没有发现,indexOf将返回-1

JavaDoc

一样