如何在Scala中使用java.String.format?

问题:

我试图使用.format一个字符串的方法。但是如果将%1,%2等放在字符串中,则会抛出java.util.UnknownFormatConversionException指向一个令人困惑的Java源代码片段:

private void checkText(String s) {

    int idx;

    // If there are any '%' in the given string, we got a bad format
    // specifier.
    if ((idx = s.indexOf('%')) != -1) {
        char c = (idx > s.length() - 2 ? '%' : s.charAt(idx + 1));
        throw new UnknownFormatConversionException(String.valueOf(c));
    }
}

由此我明白% char被禁止。如果是这样,那么我该用什么参数占位符?
我使用Scala 2.8。

回答:

虽然以前的所有回复都是正确的,但它们都是Java。这是一个Scala示例:

val placeholder = "Hello %s, isn't %s cool?"
val formatted = placeholder.format("Ivan", "Scala")

我也有一个关于making format like Python’s % operator的博客文章可能是有用的。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to use java.String.format in Scala?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 2 = 5