This release is mostly bug fixes, but there are a couple of new features you might care out.

  • There are three new datasets, fruit, words and sentences, to help you practice your regular expression skills:

    str_subset(fruit, "(..)\\1")
    #> [1] "banana"      "coconut"     "cucumber"    "jujube"      "papaya"     
    #> [6] "salal berry"
    #> [1] "a"        "able"     "about"    "absolute" "accept"   "account"
    #> [1] "The birch canoe slid on the smooth planks."
  • More functions work with boundary(): str_detect() and str_subset() can detect boundaries, and str_extract() and str_extract_all() pull out the components between boundaries. This is particularly useful if you want to extract logical constructs like words or sentences.

    x <- "This is harder than you might expect, e.g. punctuation!"
    x %>% str_extract_all(boundary("word")) %>% .[[1]]
    #> [1] "This"        "is"          "harder"      "than"        "you"        
    #> [6] "might"       "expect"      "e.g"         "punctuation"
    x %>% str_extract(boundary("sentence"))
    #> [1] "This is harder than you might expect, e.g. punctuation!"
  • str_view() and str_view_all() create HTML widgets that display regular expression matches. This is particularly useful for teaching.