compute from a string the text of a string literal
Paul Backus
snarwin at gmail.com
Wed Jan 17 18:53:48 UTC 2024
On Wednesday, 17 January 2024 at 18:44:14 UTC, Carl Sturtivant
wrote:
> Hello,
> I'd like a function like this,
> ```
> string image(string s)
> ```
> that maps any string s into the doubly quoted backslash escaped
> text that would be a string literal for s were it pasted into a
> program. Perhaps with a second parameter with detailed options.
>
> Is there something out there I could use?
There's a function that does this in Phobos, but it's `private`.
Currently, the only way to access it is by calling `to!string` or
`format` on a range that contains the string you want to convert
as an element:
```d
void main()
{
import std.range, std.conv, std.stdio;
string s = `"foo"\bar`;
string escaped = only(s).to!string[1 .. $-1]; // slice off [
and ]
writeln(escaped); // "\"foo\"\\bar"
}
```
More information about the Digitalmars-d-learn
mailing list