我正在寻找以下内容的实现:
我有一个字符串:001001001
我需要在输出中收到:001 001 001
我检查了formatNumber
和DecimalFormat
- 他们无法提供此类输出。
还有其他内置方法吗?
目前我创建了一些服务器端功能(实际上我认为这不是那么出色的解决方案):
StringBuffer result = new StringBuffer("");
for (int i = 1; i <= 9; i++) {
result.append(input.charAt(i - 1));
if (i % 3 == 0)
result.append(" ");
}
return result.toString();
答案 0 :(得分:1)
我使用以下方法。 不会像nKognito中的示例那样在末尾添加额外的空间。
public static String format(String inputUnformatted, int groupSize, String separator) {
StringBuilder result = new StringBuilder(inputUnformatted);
int i = groupSize;
while (i < inputUnformatted.length()) {
result.insert(inputUnformatted.length() - i, separator);
i += groupSize;
}
return result.toString();
}
答案 1 :(得分:0)
public static void main(String[] args) {
String input = "001001001";
StringBuilder result = new StringBuilder();
int j = 0;
for (int i = 0; i < input.length(); i++) {
if (j > 2) {
result.append(" ");
j = 0;
}
result.append(input.charAt(i));
j++;
}
System.out.println(result.toString());
}
试试这段代码