如何在指定长度附加空白字符?

时间:2015-06-09 11:38:19

标签: java string

考虑一个字符串,需要插入一些查询或文件中,其中字符串的长度应该等于40.如果字符串的长度小于40,那么它应该追加空字符直到达到40,并且然后需要插入。我该怎么做?

 void addstring(String str)
 {
      int len=str.length();
      PrintStream out=new PrintStream();
      if(len<=40)
      {
          out.print(str);
      }
      else
      {
          //make the string of length 40 by appending blank character and write to the file. 
      }
 }

4 个答案:

答案 0 :(得分:1)

您可以按如下方式使用printf

out.printf("%-40s", str);

有关格式字符串的详细信息,请参阅Formatter文档中的格式字符串语法

请注意,如果字符串超过40个字符,则会打印整个字符串(当然没有任何填充空格),因此if语句是多余的,可以删除。

如果您使用 Guava ,则可以使用Strings.padEnd

如果您使用 Apache Commons ,则可以使用StringUtils.repeat并手动构建填充。

答案 1 :(得分:0)

如果您使用的是Apache commons,则可以使用StringUtils.repeat()方法。

String extraStr = StringUtils.repeat(" ", 40-len);

然后将它附加到你的字符串中。

答案 2 :(得分:0)

此技术称为“填充”,有关详细信息,请参阅here

另外,我建议检查大于或等于 40的长度:

if (len >= 40)
{
    out.print(str);
}
else
{
    out.printf("%-40s", str);
}

答案 3 :(得分:0)

使用以下内容:

if(str.length()<40) {
    out.printf("%-40s", str);
} else {
    out.printf("larger in size");
}