【发布时间】:2015-11-05 10:55:14
【问题描述】:
我有这个文字Hello, {between brackets 1}and{between brackets 2},我想用某种颜色为括号之间的文字着色,这就是我所做的:
String text = "Hello, {between brackets 1}and{between brackets 2}";
String output = "";
while(text.contains("}")){
output = output + text.substring(0, text.indexOf("{"));
output = output + "<font color='#00e1ff'>"+text.substring(
text.indexOf("{")+1, text.indexOf("}")-1)+"</font>";
text = text.substring(text.indexOf("}"), text.length()-1);
}
但我在第 10 行得到了一个 indexOutOfBoundsException,即:
output = output + "<font color='#00e1ff'>"+text.substring(
text.indexOf("{")+1, text.indexOf("}")-1)+"</font>";
【问题讨论】:
-
阅读
substring()的文档。你的第二个参数是错误的。 -
我还强烈建议您提取
text.indexOf("{")和text.indexOf("}")的局部变量,然后格式化您的代码...只需执行这两件事将使您的代码很多 更清晰。
标签: java string substring indexoutofboundsexception