A string containing the path given by path, but where the extension has been set to ext.
assert(setExtension("file", "ext") == "file.ext"); assert(setExtension("file"w, ".ext"w) == "file.ext"); assert(setExtension("file."d, "ext"d) == "file.ext"); assert(setExtension("file.", ".ext") == "file.ext"); assert(setExtension("file.old"w, "new"w) == "file.new"); assert(setExtension("file.old"d, ".new"d) == "file.new");
withExtension which does not allocate and returns a lazy range.
Sets or replaces an extension.
If the filename already has an extension, it is replaced. If not, the extension is simply appended to the filename. Including a leading dot in ext is optional.
If the extension is empty, this function is equivalent to stripExtension.
This function normally allocates a new string (the possible exception being the case when path is immutable and doesn't already have an extension).