1. ホーム

[解決済み】Scalaでjava.String.formatを使用する方法は?

2022-03-26 11:26:10

質問

を使おうとしています。 .format メソッドを文字列の しかし、文字列の中に%1、%2などを置くと、紛らわしいJavaソースコードの部分を指してjava.util.UnknownFormatConversionExceptionがスローされます。

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));
    }
}

これより、以下のことが理解できます。 % は禁止されています。もしそうなら、引数のプレースホルダーには何を使えばいいのでしょうか?

私は Scala 2.8.

どのように解決するのですか?

これまでの回答はすべて正しいのですが、これらはすべてJavaでの回答です。以下はScalaの例です。

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

また、ブログの記事で 作成 format のように、Pythonの % 演算子 というのは便利かもしれません。