[解決済み] JavaでMessageFormat.format()を使ってメッセージをフォーマットする
2023-06-01 11:48:33
質問
リソースバンドルにいくつかのメッセージを保存しています。私はこれらのメッセージを次のようにフォーマットしようとしています。
import java.text.MessageFormat;
String text = MessageFormat.format("You're about to delete {0} rows.", 5);
System.out.println(text);
最初のパラメータ、すなわち実際のメッセージはプロパティファイルに保存され、何らかの方法で取得されると仮定します。
2番目のパラメータである5は動的な値であり、プレースホルダである
{0}
に置かれるはずですが、そうなっていません。次の行が表示されます。
0}行を削除しようとしています。
プレースホルダが実際のパラメータに置き換わっていません。
ここではアポストロフィである -
You're
. 普通にエスケープしようとすると
You\\'re
のようにエスケープしてみましたが、うまくいきませんでした。動作させるためにはどのような変更が必要でしょうか?
どのように解決するのですか?
アポストロフィを追加する
'
を
MessageFormat
パターン
String
を確保するために
'
という文字が表示されます。
String text =
java.text.MessageFormat.format("You''re about to delete {0} rows.", 5);
^
アポストロフィ(別名 シングルクォート ) は、引用文字列を開始するものであり、それ自身は解釈されません。から javadoc
シングルクォート自体は、String全体を通して2重のシングルクォート「'」で表現する必要があります。
は
String
You\\'re
はバックスラッシュ文字を追加することと同じです。
String
となるので、唯一の違いは
You\re
が生成されるのではなく
Youre
. (ダブルクォート解決策の前に
''
を適用)
関連
-
Java の switch case 文で必要な定数式の問題の解決法
-
ajax コミット リソースの読み込みに失敗しました: サーバーはステータス 400 で応答しました ()
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
XMLファイル操作時のjava.util.NoSuchElementExceptionを解決する方法。
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
強制型変換について
-
無効な文字定数
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
API の戻り値を処理するために ResponseEntity を使用する
-
Java基礎編 - オブジェクト指向
-
Server Tomcat v9.0 Server at localhost の起動に失敗しました。
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
htmlとwordの相互変換の実装(画像あり)