knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
The features of strex
that were deemed the most interesting have been given their own vignettes. However, the package was intended as a miscellany of useful functions, so the functions demonstrated here encapsulate the spirit of this package, i.e. functions that save R string manipulators time.
library(strex)
Sometimes you don't want to know whether something is numeric, just whether or not it could be. Now you can find out with str_can_be_numeric()
.
str_can_be_numeric(c("1a", "abc", "5", "2e7", "seven"))
To get currencies and amounts mentioned in strings, there are str_extract_currencies()
and str_nth_currency()
, str_first_currency()
and str_last_currency()
. str_first_currency()
just returns the first currency amount. str_last_currency()
returns the last. str_nth_currency()
allows you to get the second, third and so on. str_extract_currencies()
returns all currency amounts mentioned in a string.
string <- c("Alan paid £5", "Joe paid $7") str_first_currency(string) string <- c("€1 is $1.17", "£1 is $1.29") str_nth_currency(string, n = c(1, 2)) str_last_currency(string) # only gets the first mentioned str_extract_currencies(string)
This is a simple wrapper around stringr::str_sub()
.
string <- "abcdefg" str_sub(string, 3, 3) str_elem(string, 3) # simpler and more exressive
string <- c("aa1bbb2ccc3", "xyz7ayc8jzk99elephant") str_extract_numbers(string) str_extract_non_numerics(string)
string <- c("aa1bbb2ccc3", "xyz7ayc8jzk99elephant") str_split_by_numbers(string)
We can give files a given extension, leaving them alone if they already have it.
string <- c("spreadsheet1.csv", "spreadsheet2") str_give_ext(string, "csv")
If the file already has an extension, we can append one or replace it.
str_give_ext(string, "xls") # append str_give_ext(string, "csv", replace = TRUE) # replace
string <- c("spreadsheet1.csv", "spreadsheet2") str_before_last_dot(string)
string <- "I hate having these \"quotes\" in the middle of my strings." cat(string) str_remove_quoted(string)
I'm not mad on CamelCase, I often want to deconstruct it.
string <- c("CamelVar1", c("CamelVar2")) str_split_camel_case(string)
This is something I did a lot to avoid using regular expression. Don't do it for that purpose. Learn regex. https://regexone.com/ is a very good start.
string <- "R is good." str_to_vec(string)
What if something is needlessly surrounded by parentheses and we want to get rid of them?
string <- "(((Why all the parentheses?)))" string %>% str_trim_anything(coll("("), side = "left") %>% str_trim_anything(coll(")"), side = "r")
string <- c("I often write the word *my* twice in a row in my my sentences.") str_singleize(string, " my")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.