module polyplex.utils.strutils; import std.conv; import std.array; import std.stdio; import core.vararg; /** C# style text formatting. Add {(id)} in text to specify replacement points, specified arguments (after sequential id) will replace the text with a to!string variant. */ public static string Format(T...)(string format, T args) { string result = format; static foreach(i; 0 .. args.length) { result = result.replace("{" ~ i.text ~ "}", args[i].text); } return result; } /* public static string Format(string message, ...) { string[] formatstr; for (int i = 0; i < _arguments.length; i++) { formatstr ~= va_arg!string(_argptr); } return FormatStr(message, formatstr); } public static string FormatStr(string base, string[] format) { string o = base; for(int i = 0; i < format.length; i++) { o = replace(o, "{"~to!string(i)~"}", format[i]); } return o; }*/