在java中格式化字符串

时间:2009-12-14 05:51:16

标签: java string

我正在使用readLine()方法读取串行缓冲区。 readLine()返回的字符串格式为“str1:str2”。在一个while循环中,当我使用readLine()次数进行串口命令的响应时,我得到了奇怪的输出:

String1 : string1
SString11 : String2
StringString2 : String23 
String4 : String5

但我需要输出格式如下

String1       : string1
SString11     : String2
StringString2 : String23 
String4       : String5

我在字符串上使用了split方法,并将两个字符串用分隔符分隔为':'。但是现在我需要在String1中添加空格以对齐所有冒号。

对不起如果我的问题解释很奇怪。但如果有人理解这个问题你能建议怎么做吗?

3 个答案:

答案 0 :(得分:20)

实现此目的的最简单方法是使用 System.out.format()。这使您可以使用C printf 样式格式说明符。一个例子:

System.out.format("%-5s:%10s\n", "Name", "Nemo");
System.out.format("%-5s:%10d\n", "Age", 120);

这将输出:

Name :      Nemo
Age  :       120

另请参阅Formatter类的文档以了解有关格式字符串语法的更多信息。

答案 1 :(得分:6)

答案 2 :(得分:4)

System.out.format(“%30s:%s”,str1,str2);

将打印第一个字符串,其固定宽度为30个字符。