我只是想知道是否有可能(如果有一种简单的方法)格式化特定表达式的double值。例如:
我需要这个价值 - > 1111111111
格式化为此 - > 1111 - 11 11 11
任何人都有想法?
由于
答案 0 :(得分:4)
这取决于确切的输入格式,但这里有一些策略
使用.substring(beginIndex,endIndex)
进行子串切割System.out.println(input.substring(0, 4) + " - " + input.substring(4, 6)
+ " " + input.substring(6, 8) + " " + input.substring(8, 10));
正则表达式使用组捕获给定的部分,然后使用replace重新组装。
System.out.println(input.replaceAll("(....)(..)(..)(..)", "$1 - $2 $3 $4"));
正则表达式会说这可以使用像这样的量词来编写
(.{4})(.{2})(.{2})(.{2})
甚至是数字
(\\d{4})(\\d{2})(\\d{2})(\\d{2})
答案 1 :(得分:1)
这取决于格式化输入数据的标准。您可以从Splitter
检查Guava课程开始。仔细看看Splitter.fixedLength(int)
方法。也许,它能够以优雅的方式完成理想的工作。