Given a string with environment variables (encoded like ${VAR} or $VAR), and other variables (encoded like {VAR}) this function will substitute both of these and return the formatted string, like the Python str.format() method. Other variables are populated from a list of arguments. Additionally, if the string is a non-absolute path, it will be expanded.

.strformat(string, args, parent = NULL)

Arguments

string

String with variables encoded

args

named list of arguments to use to populate the string

parent

a directory that will be used to make the path absolute

Examples

.strformat("~/{VAR1}{VAR2}_file", list(VAR1="hi", VAR2="hello"))
#> [1] "/Users/runner/hihello_file"
.strformat("$HOME/{VAR1}{VAR2}_file", list(VAR1="hi", VAR2="hello"))
#> [1] "/Users/runner/hihello_file"