代码之家  ›  专栏  ›  技术社区  ›  Surjya Narayana Padhi

在Java中格式化字符串

  •  7
  • Surjya Narayana Padhi  · 技术社区  · 15 年前

    我正在用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 回复  |  直到 15 年前
        1
  •  6
  •   TofuBeer    15 年前
        2
  •  20
  •   Vijay Mathew Chor-ming Lung    15 年前

    最简单的方法是使用 system.out.format()。 . 这可以让你用c 普林特 样式格式说明符。一个例子:

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

    这将输出:

    Name :      Nemo
    Age  :       120
    

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

        3
  •  4
  •   Mayuresh    15 年前

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

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