在java中格式化字符串

Sur*_*dhi 7 java string

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

String1 : string1
SString11 : String2
StringString2 : String23 
String4 : String5
Run Code Online (Sandbox Code Playgroud)

但我需要输出格式如下

String1       : string1
SString11     : String2
StringString2 : String23 
String4       : String5
Run Code Online (Sandbox Code Playgroud)

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

我很抱歉如果我的问题解释很奇怪.但如果有人理解这个问题,请你建议怎么做?

Vij*_*hew 20

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

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

这将输出:

Name :      Nemo
Age  :       120
Run Code Online (Sandbox Code Playgroud)

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

  • 您可以像使用System.out.format()一样使用String.format()将结果作为String获取. (2认同)