digitalmars.D.learn - D version of C# code
// Arrange const string templateString = "My {pet} has {number} {ailment}."; var pairs = new { pet = "dog", number = 5, ailment = "fleas", }; // Act var result = TemplateStringInterpolator.ReplaceTokens(templateString, pairs); // Assert result.Should().Be("My dog has 5 fleas."); ``` I've made a function for strings: ```D string replaceTokens(in string tmpString, in string[string] aa) { import std.array : replace; string result = tmpString; foreach(key, value; aa) { string addBits(in string root) { return "{" ~ root ~ "}"; } result = result.replace(addBits(key), value); } return result; } ```
Apr 16 2017
On 04/16/2017 11:20 AM, Joel wrote:// Arrange const string templateString = "My {pet} has {number} {ailment}."; var pairs = new { pet = "dog", number = 5, ailment = "fleas", }; // Act var result = TemplateStringInterpolator.ReplaceTokens(templateString, pairs); // Assert result.Should().Be("My dog has 5 fleas."); ```void main() { // Arrange const string templateString = "My {pet} has {number} {ailment}."; auto pairs = [ "pet": "dog", "number": "5", "ailment": "fleas", ]; // Act import std.regex: regex, replaceAll; auto result = templateString .replaceAll!(m => pairs[m[1]])(regex(`\{([^}]+)\}`)); // Assert assert(result == "My dog has 5 fleas."); }
Apr 16 2017
On Sunday, 16 April 2017 at 09:46:13 UTC, ag0aep6g wrote:On 04/16/2017 11:20 AM, Joel wrote:Thanks, ag0aep6g.[...]void main() { // Arrange const string templateString = "My {pet} has {number} {ailment}."; auto pairs = [ "pet": "dog", "number": "5", "ailment": "fleas", ]; // Act import std.regex: regex, replaceAll; auto result = templateString .replaceAll!(m => pairs[m[1]])(regex(`\{([^}]+)\}`)); // Assert assert(result == "My dog has 5 fleas."); }
Apr 16 2017