如何在java中的字符串中填充空格? [复制]

Posted

技术标签:

【中文标题】如何在java中的字符串中填充空格? [复制]【英文标题】:how to pad space within a string in java? [duplicate] 【发布时间】:2011-12-07 03:00:47 【问题描述】:

可能重复:How can I pad a String in Java?

我有一种情况,我的 method1() 返回各种大小的字符串,我想在固定空间中显示字符串(比如长度为 50 个字符),如果长度大于,我可以使用 String.substring() 50 个字符但如果字符串长度小于 50 个字符不知道该怎么办,我该如何实现?

for example my method1() return (in different call) :
John
Michael
J
Ab

While method2() return :
first
Second
Third

我想像这样打印结果

John                 First
Michael              Second
J                    Third
Ab                   Forth

我不想使用除空格以外的任何其他字符。

【问题讨论】:

我试过 String.format() 但没有帮助 【参考方案1】:
public String toFixedLength(String str, int sz)       
  String ret;
  int len = str.length();

  if (len == sz) 
    ret = str;
   else if (len > sz) 
    ret = str.substring(0, sz);
   else  // len < sz
    StringBuilder sb = new StringBuilder(str);

    char[] ch = new char[sz - len];
    Arrays.fill(ch, ' ');
    sb.append(ch);
    ret = sb.toString();
  

  return ret;

【讨论】:

在以下情况下不工作【参考方案2】:

只需检查字符串的length() 并添加所需数量的空格(例如,在一个循环中)

【讨论】:

【参考方案3】:

如果您有一个长度小于 50 个字符的字符串并且您想将其填充,您可以这样做:

int temp = yourstring.length

for(int i = 0; i < (50-temp); i++)
  yourstring = yourstring + " ";

如果 yourstring 是您要填充的字符串并且您之前没有在代码中使用 i 作为整数,我很确定这会起作用。这样你只需要使用空间。

【讨论】:

以上是关于如何在java中的字符串中填充空格? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何删除前导和尾随的空格以及字符串中的多个空格? [复制]

Python - 如何在拆分字符串时忽略双引号中的空格? [复制]

Java中去除字符串中所有空格的几种方法

在java中的如何对去除String对象中的空格

Java中去除字符串中所有空格的几种方法

Python,如何去掉字符串 s = 'values ( e , b )'中,括号里面的空格?