为了账号安全,请及时绑定邮箱和手机立即绑定

如何用Java填充字符串?

如何用Java填充字符串?

至尊宝的传说 2019-06-09 16:34:42
如何用Java填充字符串?有什么简单的方法可以在Java中填充字符串吗?似乎应该出现在一些类似StringUtil的API中,但是我找不到任何这样的东西。
查看完整描述

3 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

阿帕奇StringUtils有几种方法:leftPadrightPadcenterrepeat.

但请注意-正如其他人在这个答案 — String.format()FormatterJDK中的类是更好的选择。在公用代码中使用它们。


查看完整回答
反对 回复 2019-06-09
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

从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*


查看完整回答
反对 回复 2019-06-09
?
www说

TA贡献1775条经验 获得超8个赞

填充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
  *********


查看完整回答
反对 回复 2019-06-09
  • 3 回答
  • 0 关注
  • 1697 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号