211*_*7c9 1 java string stringbuilder char
基本上,(dog)(cat)(mouse)需要(dog) (cat) (mouse).
我试过的代码:
StringBuilder sb = new StringBuilder("(dog)(cat)(mouse)");
for (int i = 0; i < sb.length(); i ++)
{
if (sb.charAt(i) == ')')
{
sb.insert(i, ' ');
}
}
String result = sb.toString();
Run Code Online (Sandbox Code Playgroud)
但我得到某种"Java堆空间"错误
你可以尝试:
String string = "(dog)(cat)(mouse)";
string = string.replace(")(", ") (");
Run Code Online (Sandbox Code Playgroud)
这将)(用" ) (" 替换所有出现的" ".
但是如果你想按照自己的方式去做,那么修复就是在你插入之前i使用i++;正确的增量,因为你在括号之前插入一个空格,而不是在它之后.