knitr::opts_chunk$set(comment = "#>", collapse = T) library(stringr)
This release includes a change to the API:
str_match_all() now returns NA if an optional group doesn't match (previously it returned ""). This is more consistent with
str_match() and other match failures.
x <- c("a=1,b=2", "c=3", "d=") x %>% str_match("(.)=(\\d)?") x %>% str_match_all("(.)=(\\d)?,?")
There are three new features:
replacementcan now be a function that is called once for each match and who's return value is used to replace the match.
redact <- function(x) str_dup("-", str_length(x)) x <- c("It cost $500", "We spent $1,200 on stickers") x %>% str_replace_all("\\$[0-9,]+", redact)
fruit <- c("apple", "banana", "pear", "pinapple") # Matching positions str_which(fruit, "p") # Matching values str_subset(fruit, "p")
A new vignette (
vignette("regular-expressions")) describes the details of the regular expressions supported by stringr. The main vignette (
vignette("stringr")) has been updated to give a high-level overview of the package.
Minor improvements and bug fixes
There were three other minor improvements and bug fixes:
numericargument for sorting mixed numbers and strings.
str_replace_all()now throws an error if
replacementis not a character vector. If
NA_character_it replaces the complete string with
All functions that take a locale (e.g.
str_sort()) default to "en" (English) to ensure that the default is consistent across platforms.