Вставить пробел для заполнения в строку

Довольно простая проблема, но ее трудно найти в приемлемой форме:

Я хочу преобразовать строку, вставив заполнение через каждые 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();
}

Может ли кто-нибудь предоставить более элегантное решение?

5
задан Johannes Charra 22 June 2011 в 10:23
поделиться