Extract the first (or last) n characters of a string

I want to extract the first (or last) n characters of a string. This would be the equivalent to Excel's LEFT() and RIGHT(). A small example:

# create a string
a <- paste('left', 'right', sep = '')
a
# [1] "leftright"

I would like to produce b, a string which is equal to the first 4 letters of a:

b
# [1] "left"

What should I do?


Solution 1:

See ?substr

R> substr(a, 1, 4)
[1] "left"

Solution 2:

The stringr package provides the str_sub function, which is a bit easier to use than substr, especially if you want to extract right portions of your string :

R> str_sub("leftright",1,4)
[1] "left"
R> str_sub("leftright",-5,-1)
[1] "right"