snippetrustCritical
How to escape curly braces in a format string in Rust
Viewed 0 times
howstringcurlybracesrustformatescape
Problem
I want to write this
But since curly braces have special meaning for formatting it's clear that I can't place the outer curly braces like that without escaping. So I tried to escape them.
Rust doesn't like that either. Then I read this:
The literal characters {, }, or # may be included in a string by preceding them with the \ character. Since \ is already an escape character in Rust strings, a string literal using this escape will look like "\{".
So I tried
But that's also not working. :-(
write!(f, "{ hash:{}, subject: {} }", self.hash, self.subject)But since curly braces have special meaning for formatting it's clear that I can't place the outer curly braces like that without escaping. So I tried to escape them.
write!(f, "\{ hash:{}, subject: {} \}", self.hash, self.subject)Rust doesn't like that either. Then I read this:
The literal characters {, }, or # may be included in a string by preceding them with the \ character. Since \ is already an escape character in Rust strings, a string literal using this escape will look like "\{".
So I tried
write!(f, "\\{ hash:{}, subject: {} \\}", self.hash, self.subject)But that's also not working. :-(
Solution
You might be reading some out of date docs (e.g. for Rust 0.9)
As of Rust 1.0, the way to escape
The literal characters
preceding them with the same character. For example, the
is escaped with
As of Rust 1.0, the way to escape
{ and } is with another { or }write!(f, "{{ hash:{}, subject: {} }}", self.hash, self.subject)The literal characters
{ and } may be included in a string bypreceding them with the same character. For example, the
{ characteris escaped with
{{ and the } character is escaped with }}.Code Snippets
write!(f, "{{ hash:{}, subject: {} }}", self.hash, self.subject)Context
Stack Overflow Q#25569865, score: 215
Revisions (0)
No revisions yet.