Java - 带连字符的String.format

时间:2013-04-04 17:44:00

标签: java

编写我的第一个真正的Java代码,我正在努力弄清楚这个。

我需要以set格式生成一个字符串:

code:100-100-100

我正在使用String.format来尝试生成它:

String templateFormat = "code:%1$-%2$s-100";
String code = String.format(templateFormat, "100", "100", "100");

但连字符对格式化程序有特殊意义,我怎么能逃脱呢?

试图用“\”来逃避连字符,但Eclipse正确告诉我:

无效的转义序列(有效转义序列为\ b \ t \ n \ f \ r \“\ \ \ \)

干杯

1 个答案:

答案 0 :(得分:2)

问题不在于你的连字符,而在于你的templateFormat:

你有...... String templateFormat = "code:%1$-%2$s-100";

您需要的位置...... String templateFormat = "code:%1$s-%2$s-100";

请注意s部分

中缺少的%1$