如何在java中的字符串中填充空格?

时间:2011-10-13 16:32:54

标签: java string string-formatting padding

  

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

我有一个stuation,其中我的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

我不想使用除空格之外的任何其他角色。

3 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果你有一个长度少于50个字符的字符串,并且想要填充它,你可以这样做:

int temp = yourstring.length

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

我很确定这是有效的,如果你的字符串是你想要填充的字符串而你之前没有在代码中使用过i作为整数。这样你只需要使用空间。