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"
- R file: basic-character-operations.R
- Rmarkdown file: basic-character-operations.Rmd
- Jupyter notebook file: basic-character-operations.ipynb
- Interactive version of the Jupyter notebook (shuts down after 60s):
- Interactive version of the Jupyter notebook (sign in required):