我有我的字符串,“08000001066
”。
此字符串(电话号码)应以正确的格式显示为“0800 000 1066
”。
有人建议我应该使用此代码块,
DecimalFormatSymbols phoneNumberSymbols = new DecimalFormatSymbols();
phoneNumberSymbols.setGroupingSeparator(' ');
DecimalFormat phoneNumberFormat = new DecimalFormat("####,###,###", phoneNumberSymbols);
这导致了一些接近我想要的东西,但并不精确,因为DecimalFormat
需要一个数字(double或float - 其中无法解析零前导字符串)。
如何通过十进制格式的####,###,###
之类的方法格式化字符串?
答案 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)));
}