Java String.Format()说明符's' - 奇怪的行为

时间:2011-09-11 23:11:39

标签: java string.format

我有以下代码:

String requestString=String.format(Constants.SEARCH_SETS_API,
                             Constants.DEVELOPER_KEY,
                             "ids:".concat(setId),
                             "1");

其中

public static final String DEVELOPER_KEY = "3ansrfnt10cggo80";
public static final String SEARCH_SETS_API = 
                                              "http://api.quizlet.com/1.0/sets?"
                                              + "dev_key=%1s&"
                                              + "q=%2s&"
                                              + "sort=alphabetical&"
                                              + "whitespace=off&"
                                              + "page=%3s&"
                                              + "per_page=50&"
                                              + "time_format=unix&"
                                              + "images_only=off&"
                                              + "updated_since=0&"
                                              + "extended=on";

问题: 问题是在%3s说明符之前插入“\ n”,如果第3个参数是1或2个字符长,如“1”,“12”等。如果它是3个字符长,更像“123”等没有运输返回插入。

问题: 如果长度为1或2个字符,如何摆脱%3s参数前的回车?

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找%1$s%2$s等。您在格式字符串中指定的内容实际上是将插入的值填充到您提供的长度,例如: 1,2和3个字符。