## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----eval=FALSE--------------------------------------------------------------- # # install directly from CRAN # install.packages("regreplaceR") # # # or install directly from this github repository # # # install the devtools package if not already installed # install.packages("devtools") # # # install the package directly from this repository # devtools::install_github("gwangjinkim/regreplaceR") # ## ----------------------------------------------------------------------------- library(regreplaceR) pattern <- "(?P\\w+) is (?P\\d+)" s <- "Jane is 25" result <- groups(pattern, s) # Output: # $name # [1] "Jane" # # $age # [1] "25" ## ----------------------------------------------------------------------------- library(regreplaceR) pattern <- "(?P\\w+) is (?P\\d+)" s <- "Jane is 25" name <- match_group(pattern, s, "name") # Output: # [1] "Jane" ## ----------------------------------------------------------------------------- library(regreplaceR) pattern <- "(?P\\w+) is (?P\\d+)" s <- "Jane is 25" modified <- replace_group(pattern, s, "name", "John") # Output: # [1] "John is 25" ## ----------------------------------------------------------------------------- library(regreplaceR) # Create a new Replacer object r <- Replacer$new(pattern = ".*?_(?P\\d{8}-\\d{6})(?P\\..+$)") # Match a group within a string date <- r$match("file_20230905-123456.txt", "date") # Replace the value of a matched group modified_string <- r$replace("file_20230905-123456.txt", "date", "20240905-123456") ## simpler example: # Create a Replacer object with a regex pattern r <- Replacer$new(pattern="(?P\\w+) is (?P\\d+)") # Match the "name" group in the string name_match <- r$match("Jane is 25", "name") print(name_match) # Should print "Jane" # Match the "age" group in the string age_match <- r$match("Jane is 25", "age") print(age_match) # Should print "25" # Replace the "name" group in the string replaced_string <- r$replace("Jane is 25", "name", "John") print(replaced_string) # Should print "John is 25"