Jstl:带空格的格式字符串编号

时间:2013-07-03 10:34:15

标签: java jsp format jstl string-formatting

我正在寻找以下内容的实现:

我有一个字符串:001001001 我需要在输出中收到:001 001 001

我检查了formatNumberDecimalFormat - 他们无法提供此类输出。 还有其他内置方法吗?

目前我创建了一些服务器端功能(实际上我认为这不是那么出色的解决方案):

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();

2 个答案:

答案 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());




    }

试试这段代码