如何在Java中填充字符串?
有没有一些简单的方法来填充Java中的字符串?
似乎应该在一些类似StringUtil的API中,但我找不到任何可以做到这一点的东西。
有没有一些简单的方法来填充Java中的字符串?
似乎应该在一些类似StringUtil的API中,但我找不到任何可以做到这一点的东西。
从Java 1.5开始,String.format()
可用于左/右垫给定的字符串。
public static String padRight(String s, int n) {
return String.format("%-" + n + "s", s);
}
public static String padLeft(String s, int n) {
return String.format("%" + n + "s", s);
}
...
public static void main(String args[]) throws Exception {
System.out.println(padRight("Howto", 20) + "*");
System.out.println(padLeft("Howto", 20) + "*");
}
输出为:
Howto *
Howto*
填充为 10 个字符:
String.format("%10s", "foo").replace(' ', '*');
String.format("%-10s", "bar").replace(' ', '*');
String.format("%10s", "longer than 10 chars").replace(' ', '*');
输出:
*******foo
bar*******
longer*than*10*chars
显示“*”表示密码字符:
String password = "secret123";
String padded = String.format("%"+password.length()+"s", "").replace(' ', '*');
输出与密码字符串具有相同的长度:
secret123
*********