Basic operations on character strings

length() versus nchar()

some_great_rock_bands <- c("Led Zeppelin","Pink Floyd","Queen")
length(some_great_rock_bands)
[1] 3
nchar(some_great_rock_bands)
[1] 12 10  5

Character vector subsets versus substrings

some_great_rock_bands <- c("Led Zeppelin","Pink Floyd","Queen")
some_great_rock_bands[1:2]
[1] "Led Zeppelin" "Pink Floyd"  
substr(some_great_rock_bands,start=1,stop=2)
[1] "Le" "Pi" "Qu"
substr(some_great_rock_bands,start=6,stop=15)
[1] "eppelin" "Floyd"   ""       

Finding patterns within character strings and character vectors

some_great_rock_bands <- c("Led Zeppelin","Pink Floyd","Queen")
grep("Zeppelin",some_great_rock_bands) # Just the indices
[1] 1
grep("Zeppelin",some_great_rock_bands, value=TRUE) # the elements
[1] "Led Zeppelin"
grepl("Zeppelin",some_great_rock_bands)
[1]  TRUE FALSE FALSE
grep("[ei]n$",some_great_rock_bands,value=TRUE)
[1] "Led Zeppelin" "Queen"       

Replacing patterns within character strings and character vectors

some_great_rock_bands <- c("Led Zeppelin","Pink Floyd","Queen")
sub("e","i",some_great_rock_bands)
[1] "Lid Zeppelin" "Pink Floyd"   "Quien"       
gsub("e","i",some_great_rock_bands)
[1] "Lid Zippilin" "Pink Floyd"   "Quiin"       
gsub("([aeiouy]+)","[\\1]",some_great_rock_bands)
[1] "L[e]d Z[e]pp[e]l[i]n" "P[i]nk Fl[oy]d"       "Q[uee]n"