首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数字格式化为模式,例如1234567890 -> 1234 - 56 78 90

将数字格式化为模式,例如1234567890 -> 1234 - 56 78 90
EN

Stack Overflow用户
提问于 2015-02-10 12:54:07
回答 2查看 407关注 0票数 0

我只是想知道是否有可能(以及是否有一种简单的方法)为特定表达式设置双值格式。例如:

我需要这个值-> 1111111111

格式化为此-> 1111 - 11 11 11

有人有主意吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-10 12:58:00

这取决于准确的输入格式,但以下是一些策略

用.substring(beginIndex,endIndex)斩取子串

代码语言:javascript
复制
System.out.println(input.substring(0, 4) + " - " + input.substring(4, 6)
        + " " + input.substring(6, 8) + " " + input.substring(8, 10));

Regex使用组来捕获给定的部件,然后用替换重新组装。

代码语言:javascript
复制
System.out.println(input.replaceAll("(....)(..)(..)(..)", "$1 - $2 $3 $4"));

Regex会说这可以用像这样的量词来写。

代码语言:javascript
复制
(.{4})(.{2})(.{2})(.{2})

甚至有数字

代码语言:javascript
复制
(\\d{4})(\\d{2})(\\d{2})(\\d{2})
票数 4
EN

Stack Overflow用户

发布于 2015-02-10 13:07:18

这取决于格式化输入数据的标准。您可以从检查Splitter类开始从番石榴开始。仔细看看Splitter.fixedLength(int)方法。很可能,它将能够以优雅的方式完成理想的工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28432191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档