You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用标准Java将11位数字格式化为123-456-789-10格式?

用标准Java实现11位数字的分段格式化

针对固定11位数字的分段格式化需求,这里提供几种基于标准Java库的实现方式:

方法一:直接截取字符串拼接

这种方式最直观,适合固定长度的格式化场景,代码简单易懂:

String rawNumber = "12345678910";
String formattedNumber = rawNumber.substring(0, 3) + "-" +
                         rawNumber.substring(3, 6) + "-" +
                         rawNumber.substring(6, 9) + "-" +
                         rawNumber.substring(9);
// 输出结果:123-456-789-10

方法二:正则表达式替换

通过正则分组匹配指定长度的数字段,用分隔符替换,适合需要更灵活格式规则的场景:

String rawNumber = "12345678910";
String formattedNumber = rawNumber.replaceAll("(\\d{3})(\\d{3})(\\d{3})(\\d{2})", "$1-$2-$3-$4");
// 输出结果:123-456-789-10

正则说明:(\d{3})匹配连续3位数字,最后(\d{2})匹配剩余2位,$1-$2-$3-$4对应分组的拼接顺序。

方法三:使用MessageFormat格式化

借助Java标准库的MessageFormat,适合多参数组合的格式化场景:

import java.text.MessageFormat;

String rawNumber = "12345678910";
String formattedNumber = MessageFormat.format("{0}-{1}-{2}-{3}",
                                             rawNumber.substring(0, 3),
                                             rawNumber.substring(3, 6),
                                             rawNumber.substring(6, 9),
                                             rawNumber.substring(9));
// 输出结果:123-456-789-10

内容的提问来源于stack exchange,提问作者EvgenyMalkov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:12:22