How to replace character in string using RegEx in R

I am trying to replace a specific character in a string, but as this pattern repeats, I decide to replace it with iterative use of RegExes, if possible. For example, consider the link http://www.bbc.co.uk/food/ingredients/by/letter/a

I want to replace the last 'a' with 'b', then 'c', a 'd' and so-on to 'z' iteratively. RegEx to work with this is as simple as:

http:\/\/www\.bbc\.co\.uk\/food\/ingredients\/by\/letter\/[a-z]

this will confirm the line, but I would like to automate the link generation process. I am new to R and I would like to know if something like this is possible.

+4
source share
3

: paste0:

l <- paste0("http://www.bbc.co.uk/food/ingredients/by/letter/", letters)

:

> l
 [1] "http://www.bbc.co.uk/food/ingredients/by/letter/a"
 [2] "http://www.bbc.co.uk/food/ingredients/by/letter/b"
 [3] "http://www.bbc.co.uk/food/ingredients/by/letter/c"
 [4] "http://www.bbc.co.uk/food/ingredients/by/letter/d"
 [5] "http://www.bbc.co.uk/food/ingredients/by/letter/e"
 [6] "http://www.bbc.co.uk/food/ingredients/by/letter/f"
 [7] "http://www.bbc.co.uk/food/ingredients/by/letter/g"
 [8] "http://www.bbc.co.uk/food/ingredients/by/letter/h"
 [9] "http://www.bbc.co.uk/food/ingredients/by/letter/i"
[10] "http://www.bbc.co.uk/food/ingredients/by/letter/j"
[11] "http://www.bbc.co.uk/food/ingredients/by/letter/k"
[12] "http://www.bbc.co.uk/food/ingredients/by/letter/l"
[13] "http://www.bbc.co.uk/food/ingredients/by/letter/m"
[14] "http://www.bbc.co.uk/food/ingredients/by/letter/n"
[15] "http://www.bbc.co.uk/food/ingredients/by/letter/o"
[16] "http://www.bbc.co.uk/food/ingredients/by/letter/p"
[17] "http://www.bbc.co.uk/food/ingredients/by/letter/q"
[18] "http://www.bbc.co.uk/food/ingredients/by/letter/r"
[19] "http://www.bbc.co.uk/food/ingredients/by/letter/s"
[20] "http://www.bbc.co.uk/food/ingredients/by/letter/t"
[21] "http://www.bbc.co.uk/food/ingredients/by/letter/u"
[22] "http://www.bbc.co.uk/food/ingredients/by/letter/v"
[23] "http://www.bbc.co.uk/food/ingredients/by/letter/w"
[24] "http://www.bbc.co.uk/food/ingredients/by/letter/x"
[25] "http://www.bbc.co.uk/food/ingredients/by/letter/y"
[26] "http://www.bbc.co.uk/food/ingredients/by/letter/z"
+3

(.. /a ), letters:

u <- "http://www.bbc.co.uk/food/ingredients/by/letter/a" # input string
file.path(dirname(u), letters)

:

 [1] "http://www.bbc.co.uk/food/ingredients/by/letter/a"
 [2] "http://www.bbc.co.uk/food/ingredients/by/letter/b"
 [3] "http://www.bbc.co.uk/food/ingredients/by/letter/c"
 [4] "http://www.bbc.co.uk/food/ingredients/by/letter/d"
 [5] "http://www.bbc.co.uk/food/ingredients/by/letter/e"
 [6] "http://www.bbc.co.uk/food/ingredients/by/letter/f"
 [7] "http://www.bbc.co.uk/food/ingredients/by/letter/g"
 [8] "http://www.bbc.co.uk/food/ingredients/by/letter/h"
 [9] "http://www.bbc.co.uk/food/ingredients/by/letter/i"
[10] "http://www.bbc.co.uk/food/ingredients/by/letter/j"
[11] "http://www.bbc.co.uk/food/ingredients/by/letter/k"
[12] "http://www.bbc.co.uk/food/ingredients/by/letter/l"
[13] "http://www.bbc.co.uk/food/ingredients/by/letter/m"
[14] "http://www.bbc.co.uk/food/ingredients/by/letter/n"
[15] "http://www.bbc.co.uk/food/ingredients/by/letter/o"
[16] "http://www.bbc.co.uk/food/ingredients/by/letter/p"
[17] "http://www.bbc.co.uk/food/ingredients/by/letter/q"
[18] "http://www.bbc.co.uk/food/ingredients/by/letter/r"
[19] "http://www.bbc.co.uk/food/ingredients/by/letter/s"
[20] "http://www.bbc.co.uk/food/ingredients/by/letter/t"
[21] "http://www.bbc.co.uk/food/ingredients/by/letter/u"
[22] "http://www.bbc.co.uk/food/ingredients/by/letter/v"
[23] "http://www.bbc.co.uk/food/ingredients/by/letter/w"
[24] "http://www.bbc.co.uk/food/ingredients/by/letter/x"
[25] "http://www.bbc.co.uk/food/ingredients/by/letter/y"
[26] "http://www.bbc.co.uk/food/ingredients/by/letter/z"
+3

Another option:

library(stringi)
v <- "http://www.bbc.co.uk/food/ingredients/by/letter/a"
stri_replace_last(v, letters, regex = "[a-z]")
0
source

Source: https://habr.com/ru/post/1612143/


All Articles