June 20, 2014 std.algorithm.splitter on string inserts \\ for every occurrence of \ | ||||
---|---|---|---|---|
| ||||
string path = environment["PATH"]; // get the value of the env variable PATH. writeln("Path is ", path); writeln(); auto paths = std.algorithm.splitter(path, ";"); writeln("Paths are ", paths); Path is E:\dmd2\windows\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32... Paths are ["E:\\dmd2\\windows\\bin", "C:\\Windows\\system32", "C:\\Windows", "C:\\Win... The function is perfect except it converts \ to \\. I presume this is because D uses the \ character as an escape character? Thanks in advance. |
June 20, 2014 Re: std.algorithm.splitter on string inserts \\ for every occurrence of \ | ||||
---|---|---|---|---|
| ||||
Posted in reply to WhatMeWorry | On Friday, 20 June 2014 at 02:41:06 UTC, WhatMeWorry wrote:
> The function is perfect except it converts \ to \\.
The function isn't doing that conversion, that's just because when you do writeln() on a range or array, it prints it out in a format that can be read back. That's also why it put the [] and quotes around the entries - they weren't literally in the result string, it was just a printing convention.
|
Copyright © 1999-2021 by the D Language Foundation