在字符串中的特定字符后添加空格

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堆空间"错误

mk.*_*mk. 5

你可以尝试:

String string = "(dog)(cat)(mouse)";
string = string.replace(")(", ") (");
Run Code Online (Sandbox Code Playgroud)

这将)(用" ) (" 替换所有出现的" ".

但是如果你想按照自己的方式去做,那么修复就是在你插入之前i使用i++;正确的增量,因为你在括号之前插入一个空格,而不是在它之后.

  • 这只是我,但我真的不喜欢在循环中修改循环变量,如果出现问题就很难调试,但那就是我:P (2认同)