如何在Java中填充字符串?

505

有没有一种简单的方法在Java中填充字符串?

这似乎是一些类似于StringUtil的API应该有的东西,但我找不到任何可以实现这一点的内容。

33个回答

0
快速而简单的测试可以使用这个:
String myString = "hello";
for(;myString.length() < 32; hello = "0" + hello); //pad left
for(;myString.length() < 32; hello += "0"); //pad rigth

我发现将一个长整型值以二进制表示打印出来很有用。
String wildCardBinaryString = Long.toBinaryString(255);
for(;wildCardBinaryString.length() < 32; wildCardBinaryString = "0" + wildCardBinaryString);
System.out.println(String.format("|%s|", Long.toBinaryString(wildcard)));

它打印出来:
|00000000000000000000000011111111|

-1

s = 需要填充的字符串
n = 希望达到的长度
c = 用于填充的字符

private String padStart( String s, int n, char c ){
    if( n <= 0 ) return s;
    else return String.format("%" + n + "s", s).replace(' ', c);
}

这在任何包含空格的字符串上都会完全中断。 - Zastai

-1
一个简单的解决方案是:
package nl;
public class Padder {
    public static void main(String[] args) {
        String s = "123" ;
        System.out.println("#"+("     " + s).substring(s.length())+"#");
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接