Java:掩码格式化字符串

时间:2012-07-31 18:14:22

标签: java string

我想知道如何在Java中将字符串格式化为指定的模式。例如:

the source string: 01021234
the desired ouput: 01/02/1234

我已经跟随了MaskFormatter rabit洞,但它被证明是徒劳的。有人能告诉我应该使用什么功能吗?任何帮助是极大的赞赏。

请参阅示例代码:

private static Date prepData(String date, String time) {
    try {
        if (date != null || !date.equals("")) {
            if (date.contains("/")) {
                return new Date(date + " " + time.substring(0, time.indexOf('.')));
            }else{
                MaskFormatter mk = new MaskFormatter("##/##/####");
                mk.setValidCharacters("1234567890");
                System.out.println(mk.valueToString(date));
            }
        } else {
            return null;
        }
    } catch (Exception ex) {
    }
    return null;
}

4 个答案:

答案 0 :(得分:0)

去String.format它有几个选项

答案 1 :(得分:0)

如果您尝试格式化日期,请使用Java中的DateFormatter

答案 2 :(得分:0)

答案 3 :(得分:0)

这是我选择去的方式,因为我发现MaskFormatter WAY太难了:

private static Date prepData(String date, String time) {
    try {
        if (date != null || !date.equals("")) {
            if (date.contains("/")) {
                return new Date(date + " " + time.substring(0, time.indexOf('.')));
            }else{
                String d = String.format("%s/%s/%s", date.substring(0, 2),date.substring(2, 4),date.substring(4));
                String t = String.format("%s:%s %s", time.substring(0, 2),time.substring(2, 4),time.substring(4));
                return new Date(d + " " + t);
            }
        } else {
            return null;
        }
    } catch (Exception ex) {
    }
    return null;
}