On Thursday, 5 May 2022 at 17:53:57 UTC, Alexander Zhirov wrote:
I want to use a configuration file with external settings. I'm trying to use regular expressions to read the `Property = Value` settings. I would like to do it all more beautifully. Is there any way to get rid of the line break character? How much does everything look "right"?

regex never looks right ;-)

try something else perhaps??

// ------------

module test;

import std;

void main()
{
    auto file = File("d:\\settings.conf", "r");
    string[string] aa;

    // create an associate array of settings -> [key:value]
    foreach (line; file.byLine().filter!(a => !a.empty))
    {
        auto myTuple = line.split(" = ");
        aa[myTuple[0].to!string] = myTuple[1].to!string;
    }

    // write out all the settings.
    foreach (key, value; aa.byPair)
        writefln("%s:%s", key, value);

    writeln;

    // write just the host value
    writeln(aa["host"]);

}


// ------------

Reply via email to