Java 字符串格式问题
Java String format issue
我在使用 String.format() 方法时遇到问题。
所以我想创建一个带有换行符的字符串,为此我使用 %n
。
我这样创建字符串:
for (int i = 0; i < authorNames.size(); i++) {
tmpReturnString += authorNames.get(i) + "%n";
}
与 authorNames
成为 ArrayList。
接下来我要 return 格式化字符串:
returnResult.setAttributes(0, String.format(tmpReturnString.substring(0, tmpReturnString.length() - 1)))
returnResult
将成为我的 return。
但是我得到了一个java.util.UnknownFormatConversionException: Conversion = '%'
。
不幸的是,我不知道如何解决这个问题。另外,其他问题都没有帮助我。
提前致谢!
我猜您想删除最后一个新行,但是通过只删除一个字符,您最终得到的字符串以 %
.
结尾
改为这样做:
String.format(tmpReturnString.substring(0, tmpReturnString.length() - 2))
(删除 2 个字符,而不是仅删除 1 个)
或者,更好的是,如果您使用 apache commons:
String.format(StringUtils.join(authorNames, "%n"));
for (int i = 0; i < authorNames.size(); i++) {
tmpReturnString += authorNames.get(i) + "%n";
}
总是return最后两个字符的字符串是“%n”。
所以当你使用
substring(0, tmpReturnString.length() - 1)
现在最后一个字符是“%”。
“%”不是有效的格式说明符。
细节在这里:http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html
我在使用 String.format() 方法时遇到问题。
所以我想创建一个带有换行符的字符串,为此我使用 %n
。
我这样创建字符串:
for (int i = 0; i < authorNames.size(); i++) {
tmpReturnString += authorNames.get(i) + "%n";
}
与 authorNames
成为 ArrayList。
接下来我要 return 格式化字符串:
returnResult.setAttributes(0, String.format(tmpReturnString.substring(0, tmpReturnString.length() - 1)))
returnResult
将成为我的 return。
但是我得到了一个java.util.UnknownFormatConversionException: Conversion = '%'
。
不幸的是,我不知道如何解决这个问题。另外,其他问题都没有帮助我。
提前致谢!
我猜您想删除最后一个新行,但是通过只删除一个字符,您最终得到的字符串以 %
.
改为这样做:
String.format(tmpReturnString.substring(0, tmpReturnString.length() - 2))
(删除 2 个字符,而不是仅删除 1 个)
或者,更好的是,如果您使用 apache commons:
String.format(StringUtils.join(authorNames, "%n"));
for (int i = 0; i < authorNames.size(); i++) {
tmpReturnString += authorNames.get(i) + "%n";
}
总是return最后两个字符的字符串是“%n”。 所以当你使用
substring(0, tmpReturnString.length() - 1)
现在最后一个字符是“%”。 “%”不是有效的格式说明符。
细节在这里:http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html