如何填充格式化的字符串

时间:2016-12-17 19:17:42

标签: java

这可能看起来像一个简单的问题,但老实说,我似乎并没有解决这个问题 我有一个格式化的字符串如下:

String msg = String.format("Current player: %1$s", status.getCurrentPlayer().getName());

我想留下它,让我们说10个空格。我试过了:

String pad = String.format("%1$10s", msg);

但它似乎没有用,虽然我尝试使用未格式化的字符串:

String pad = String.format("%1$10s", "some string");

并且显而易见,它起作用了 什么是" msg"那不让我填补它吗?

2 个答案:

答案 0 :(得分:2)

  

“msg”是什么让我无法填充它?

超过10个字符。

... $result = $conn->query($sql); //Iterate the rows while($row = $result->fetch_assoc()) { //todo } ... //jsfile ... var response = this.responseText; //get the response but how to parse ? Formatter类的 width

阅读该文档,您将看到

  

可选 width 是一个非负十进制整数,表示要写入输出的最小字符数。

所以,最小,意味着任何比这更长的字符串按原样打印。

如果你想填充,只需在字符串长度上加10。

10

答案 1 :(得分:2)

String msg = "Current player: " 
           + status.getCurrentPlayer().getName() 
           + new String(new char[10]).replace('\0', ' ');

这将在播放器名称后添加10个空格。如果你想考虑玩家名字的长度,你可以这样做:

String msg = "Current player: " 
             + status.getCurrentPlayer().getName() 
             + new String(new 
                   char[10 - status.getCurrentPlayer().getName().Length ]).replace('\0', ' ');