strings.xml ファイルで文字列を定義します。
<string name="unformatted_string">Here\'s a song I\'ve created just for you\! {0}</string>
次に、その文字列を取得し、MessageFormat.format を使用して {0} を URL に置き換えます。
String str = MessageFormat.format(getString(R.string.unformatted_string), url);
str を出力すると、次のように表示されます。
Heres a song Ive created just for you http://www.google.com
MessageFormatのドキュメントには、引用符のルールがやや混乱していることが記載されており、二重引用符のみを使用する 1 つの例のみが提供されています。ドキュメントを読んだところ、単一引用符の問題は ''' を使用することで解決できるようです。
<string name="unformatted_string">Here'''s a song I'''ve created just for you\! {0}</string>
しかし、アポストロフィの前に\
.
私の唯一の要件は、strings.xml で文字列を定義することです (ローカライズをサポートするため)。