Java,带有索引空格的Format字符串

时间:2015-07-10 14:35:26

标签: java

我有我的字符串,“08000001066”。
此字符串(电话号码)应以正确的格式显示为“0800 000 1066”。

有人建议我应该使用此代码块,

DecimalFormatSymbols phoneNumberSymbols = new DecimalFormatSymbols();
phoneNumberSymbols.setGroupingSeparator(' ');
DecimalFormat phoneNumberFormat = new DecimalFormat("####,###,###", phoneNumberSymbols);

这导致了一些接近我想要的东西,但并不精确,因为DecimalFormat需要一个数字(double或float - 其中无法解析零前导字符串)。

如何通过十进制格式的####,###,###之类的方法格式化字符串

3 个答案:

答案 0 :(得分:2)

d.id

答案 1 :(得分:0)

尝试这一点,它依赖于你的输入是正确的位数,但是使用前导零。

//

答案 2 :(得分:0)

Pattern p = Pattern.compile("(\\d{4})(\\d{3})(\\d{4})");
String s = "08000001066";
Matcher m = p.matcher(s);
if(m.matches()) {
    return String.format("%s %s %s", m.group(1), m.group(2), m.group(3)));
}