java – 将填充空格插入字符串

非常基本的问题,但很难进入可接受的形式:

我想通过每隔3个空格插入一个填充来转换字符串

“123456789” – > “123 456 789”

“abcdefgh” – > “abc def gh”

我的代码目前是

public String toSpaceSeparatedString(String s) {
  if (s == null || s.length() < 3) {
    return s;
  }

  StringBuilder builder = new StringBuilder();
  int i; 
  for (i = 0; i < s.length()-3; i += 3) {
    builder.append(s.substring(i, i+3));
    builder.append(" ");
  }

  builder.append(s.substring(i, s.length()));

  return builder.toString();
}

谁能提供更优雅的解决方案?

您可以使用正则表达式执行此操作:

"abcdefgh".replaceAll(".{3}", "$0 ")
相关文章
相关标签/搜索