extract number after specific string
Solution 1:
str_extract(shopping_list, "(?i)(?<=count of\\D)\\d+")
# [1] NA NA NA NA "5" "50" "10"
where (?i)
makes the pattern case insensitive, \\D
means not a number, and ?<=
is a positive lookbehind.
Solution 2:
Look ahead and look behinds are what you are looking for with this grep...
shopping_list <- c("apples x4", "bag of flour", "bag of sugar", "milk x2", "monkey coconut 3oz count of 5", "monkey coconut count of 50", "chicken Count Of-10")
str_extract(shopping_list, "(?<=count of )[0-9]*")
[1] NA NA NA NA "5" "50" NA