[解決済み] Rustのフォーマット文字列で中括弧をエスケープする方法
2023-04-08 12:04:48
質問
こんなことを書きたいのですが
write!(f, "{ hash:{}, subject: {} }", self.hash, self.subject)
しかし、中括弧は書式のための特別な意味を持っているので、エスケープせずに外側の中括弧をそのように配置できないことは明らかです。そこで、エスケープしてみました。
write!(f, "\{ hash:{}, subject: {} \}", self.hash, self.subject)
Rustはそれも嫌がる。それから、これを読みました。
リテラル文字 {, }, # は、その前に \ 文字を置くことで文字列に含めることができます。Rustの文字列の中では、"the \" はすでにエスケープ文字なので、これを使った文字列リテラルは "\{" のように表示されます。
そこで、試しに
write!(f, "\\{ hash:{}, subject: {} \\}", self.hash, self.subject)
しかし、これもうまくいきません :-(
どうすれば解決するのでしょうか?
古いドキュメントを読んでいる可能性があります (例: Rust 0.9 の場合)
Rust 1.0 の時点では
をエスケープする方法
{
と
}
は別の
{
または
}
write!(f, "{{ hash:{}, subject: {} }}", self.hash, self.subject)
リテラル文字
{
と}
は、文字列の前に同じ文字を置くことで、文字列に含めることができます。 を同じ文字で囲むことができます。例えば{
という文字 をエスケープするには{{
となり}
の文字がエスケープされます。}}
.
関連
最新
-
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 実装 サイバーパンク風ボタン