我只是想知道是否有可能(以及是否有一种简单的方法)为特定表达式设置双值格式。例如:
我需要这个值-> 1111111111
格式化为此-> 1111 - 11 11 11
有人有主意吗?
谢谢
发布于 2015-02-10 12:58:00
这取决于准确的输入格式,但以下是一些策略
用.substring(beginIndex,endIndex)斩取子串
System.out.println(input.substring(0, 4) + " - " + input.substring(4, 6)
+ " " + input.substring(6, 8) + " " + input.substring(8, 10));Regex使用组来捕获给定的部件,然后用替换重新组装。
System.out.println(input.replaceAll("(....)(..)(..)(..)", "$1 - $2 $3 $4"));Regex会说这可以用像这样的量词来写。
(.{4})(.{2})(.{2})(.{2})甚至有数字
(\\d{4})(\\d{2})(\\d{2})(\\d{2})发布于 2015-02-10 13:07:18
这取决于格式化输入数据的标准。您可以从检查Splitter类开始从番石榴开始。仔细看看Splitter.fixedLength(int)方法。很可能,它将能够以优雅的方式完成理想的工作。
https://stackoverflow.com/questions/28432191
复制相似问题