Issue removing two patterns (string and numbers) using regex in R -


i trying remove 2 patterns using str_replace in r.

the patterns remove \\d+_ , baskets

i first tried:

> library(stringr)  > variables <- c("1_smallbaskets", "2_medium", "3_high")  > str_replace(variables, "baskets|\\d+_", "")  [1] "smallbaskets" "medium"       "high" 

as far can make out, pattern \\d+_ comes first replaced moves onto next without replacing baskets

i tried making expression greedy (example below), seems checking expression baskets

> str_replace(variables, "baskets|\\d+_/g", "")  [1] "1_small"  "2_medium" "3_high" 

i have tested syntax small|high works, i.e. replaces small or high, don't understand why when trying replace digit , character same logic doesn't apply

with str_replace, replace the first occurrence. str_replace_all, replace all occurrences, matches inside 1 string. see code:

> library(stringr) > variables <- c("1_smallbaskets", "2_medium", "3_high") > str_replace(variables, "baskets|\\d+_", "") [1] "smallbaskets" "medium"       "high"         > str_replace_all(variables, "baskets|\\d+_", "") [1] "small"  "medium" "high"   

also, can leverage gsub here:

> gsub("baskets|\\d+_", "", variables) [1] "small"  "medium" "high"   

Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -