stringr (version 1.4.0)

str_glue: Format and interpolate a string with glue


These functions are wrappers around glue::glue() and glue::glue_data(), which provide a powerful and elegant syntax for interpolating strings. These wrappers provide a small set of the full options. Use the functions directly from glue for more control.


str_glue(..., .sep = "", .envir = parent.frame())

str_glue_data(.x, ..., .sep = "", .envir = parent.frame(), .na = "NA")



[expressions] Expressions string(s) to format, multiple inputs are concatenated together before formatting.


[character(1): ‘""’] Separator used to separate elements.


[environment: parent.frame()] Environment to evaluate each expression in. Expressions are evaluated from left to right. If .x is an environment, the expressions are evaluated in that environment and .envir is ignored.


[listish] An environment, list or data frame used to lookup values.


[character(1): ‘NA’] Value to replace NA values with. If NULL missing values are propagated, that is an NA result will cause NA output. Otherwise the value is replaced by the value of .na.


name <- "Fred"
age <- 50
anniversary <- as.Date("1991-10-12")
  "My name is {name}, ",
  "my age next year is {age + 1}, ",
  "and my anniversary is {format(anniversary, '%A, %B %d, %Y')}."

# single braces can be inserted by doubling them
str_glue("My name is {name}, not {{name}}.")

# You can also used named arguments
  "My name is {name}, ",
  "and my age next year is {age + 1}.",
  name = "Joe",
  age = 40

# `str_glue_data()` is useful in data pipelines
mtcars %>% str_glue_data("{rownames(.)} has {hp} hp")
# }