Regular Expressions in R

The dataset I will use for this workshop is the set of lyrics to songs from the Broadway musical Les Mise'rables. The data looks like this:

head(lesmis, 30)
## # A tibble: 30 x 7
##    track_title            track_n  line lyric     element  element_artist  title
##    <chr>                    <int> <int> <chr>     <chr>    <chr>           <chr>
##  1 Prologue (Ft. Colm Wi…       1     1 <NA>      "\"Work… Claude-Michel … "Pro…
##  2 Prologue (Ft. Colm Wi…       1     2 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  3 Prologue (Ft. Colm Wi…       1     3 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  4 Prologue (Ft. Colm Wi…       1     4 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  5 Prologue (Ft. Colm Wi…       1     5 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  6 Prologue (Ft. Colm Wi…       1     6 Look dow… "PRISON… Claude-Michel … "Pro…
##  7 Prologue (Ft. Colm Wi…       1     7 Don't lo… "PRISON… Claude-Michel … "Pro…
##  8 Prologue (Ft. Colm Wi…       1     8 Look dow… "PRISON… Claude-Michel … "Pro…
##  9 Prologue (Ft. Colm Wi…       1     9 You're h… "PRISON… Claude-Michel … "Pro…
## 10 Prologue (Ft. Colm Wi…       1    10 The sun … "PRISON… Claude-Michel … "Pro…
## # … with 20 more rows
dim(lesmis)
## [1] 2404    7
unique(lesmis$track_title)
##  [1] "Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Roger Allam & Terrence Mann)"                                                                                                                                                                                                                            
##  [2] "What Have I Done? (Valjean's Soliloquy) (Ft. Colm Wilkinson, Gary Morris & John Owen-Jones)"                                                                                                                                                                                                                         
##  [3] "At the End of the Day (Ft. Debra Byrne, Gary Morris, John Owen-Jones, Madalena Alberto, Patti LuPone & Randy Graff)"                                                                                                                                                                                                 
##  [4] "I Dreamed a Dream (Ft. Alain Boublil, Patti LuPone, Randy Graff & Robert Billig)"                                                                                                                                                                                                                                    
##  [5] "Lovely Ladies (Ft. Debra Byrne, Madalena Alberto, Patti LuPone & Ruthie Henshall)"                                                                                                                                                                                                                                   
##  [6] "Fantine's Arrest (Ft. Debra Byrne, Philip Quast & Ruthie Henshall)"                                                                                                                                                                                                                                                  
##  [7] "The Runaway Cart (Ft. Gary Morris & Philip Quast)"                                                                                                                                                                                                                                                                   
##  [8] "Who Am I? (Ft. Colm Wilkinson & Gary Morris)"                                                                                                                                                                                                                                                                        
##  [9] "Fantine's Death (Ft. Colm Wilkinson, Debra Byrne, Gary Morris, Patti LuPone & Ruthie Henshall)"                                                                                                                                                                                                                      
## [10] "Confrontation (Ft. Colm Wilkinson, Roger Allam & Terrence Mann)"                                                                                                                                                                                                                                                     
## [11] "Castle on a Cloud (Ft. Marissa Dunlop & Zoe Hart)"                                                                                                                                                                                                                                                                   
## [12] "Master of the House (Ft. Alun Armstrong, Ashley Artus, Barry James, Gay Soper, Jennifer Butt, Leo Burmester, Lynne Wilmont & Susan Jane Tanner)"                                                                                                                                                                     
## [13] "The Bargain / The Waltz of Treachery (Ft. Ashley Artus, Barry James, Gary Morris, Gay Soper, John Owen-Jones & Lynne Wilmont)"                                                                                                                                                                                       
## [14] "Look Down (Ft. Anthony Warlow, Michael Ball & Ross McCall)"                                                                                                                                                                                                                                                          
## [15] "The Robbery / Javert's Intervention (Another Brawl) (Ft. Gary Morris, Gay Soper, Kaho Shimada, Michael Ball & Philip Quast)"                                                                                                                                                                                         
## [16] "Stars (Ft. Philip Quast, Roger Allam & Terrence Mann)"                                                                                                                                                                                                                                                               
## [17] "Eponine's Errand (Ft. Kaho Shimada & Michael Ball)"                                                                                                                                                                                                                                                                  
## [18] "Red and Black (Ft. Anthony Warlow, David Bryant, David Burt, Michael Ball, Michael Maguire & Ross McCall)"                                                                                                                                                                                                           
## [19] "Do You Hear The People Sing? (Ft. Anthony Warlow, David Burt & Michael Maguire)"                                                                                                                                                                                                                                     
## [20] "In My Life (Ft. Colm Wilkinson, David Bryant, Frances Ruffelle, Gary Morris, Judy Kuhn, Kaho Shimada, Lea Salonga, Michael Ball & Tracy Shayne)"                                                                                                                                                                     
## [21] "A Heart Full of Love (Ft. David Bryant, Frances Ruffelle, Judy Kuhn, Michael Ball & Rebecca Caine)"                                                                                                                                                                                                                  
## [22] "The Attack on Rue Plumet (Ft. Barry James, Gary Morris, Kaho Shimada, Michael Ball & Tracy Shayne)"                                                                                                                                                                                                                  
## [23] "One Day More (Ft. Alun Armstrong, Anthony Warlow, Barry James, Colm Wilkinson, David Bryant, David Burt, Frances Ruffelle, Gary Morris, Gay Soper, Jennifer Butt, Judy Kuhn, Kaho Shimada, Leo Burmester, Michael Ball, Michael Maguire, Philip Quast, Rebecca Caine, Roger Allam, Susan Jane Tanner & Tracy Shayne)"
## [24] "Building The Barricade"                                                                                                                                                                                                                                                                                              
## [25] "On My Own (Ft. Frances Ruffelle & Lea Salonga)"                                                                                                                                                                                                                                                                      
## [26] "At the Barricade (Upon These Stones)"                                                                                                                                                                                                                                                                                
## [27] "Javert's Arrival (Ft. Les Misérables: International Cast)"                                                                                                                                                                                                                                                           
## [28] "Little People (Ft. Les Misérables: International Cast)"                                                                                                                                                                                                                                                              
## [29] "A Little Fall of Rain (Ft. David Bryant, Eddie Redmayne, Frances Ruffelle, Lea Salonga, Michael Ball & Samantha Barks)"                                                                                                                                                                                              
## [30] "Night of Anguish (Ft. Les Misérables: International Cast)"                                                                                                                                                                                                                                                           
## [31] "First Attack (Ft. Les Misérables: International Cast)"                                                                                                                                                                                                                                                               
## [32] "Drink With Me (Ft. Les Misérables: International Cast)"                                                                                                                                                                                                                                                              
## [33] "Bring Him Home (Ft. Colm Wilkinson, Gary Morris & Les Misérables: International Cast)"                                                                                                                                                                                                                               
## [34] "Dawn of Anguish"                                                                                                                                                                                                                                                                                                     
## [35] "The Second Attack (Death Of Gavroche) (Ft. Les Misérables: International Cast)"                                                                                                                                                                                                                                      
## [36] "The Final Battle (Ft. Les Misérables: International Cast)"                                                                                                                                                                                                                                                           
## [37] "The Sewers / Dog Eats Dog (Ft. Les Misérables: International Cast)"                                                                                                                                                                                                                                                  
## [38] "Javert's Suicide (Ft. Roger Allam & Terrence Mann)"                                                                                                                                                                                                                                                                  
## [39] "Turning (Ft. Les Misérables: International Cast)"                                                                                                                                                                                                                                                                    
## [40] "Empty Chairs at Empty Tables (Ft. David Bryant, Les Misérables: International Cast & Michael Ball)"                                                                                                                                                                                                                  
## [41] "Every Day / A Heart Full of Love (Reprise)"                                                                                                                                                                                                                                                                          
## [42] "Valjean's Confession (Ft. Les Misérables: International Cast)"                                                                                                                                                                                                                                                       
## [43] "Wedding Chorale / Beggars at the Feast"                                                                                                                                                                                                                                                                              
## [44] "Epilogue / Finale (Ft. Colm Wilkinson, David Bryant, David Burt, Frances Ruffelle, Judy Kuhn, Lea Salonga, Les Misérables: International Cast, Michael Ball, Michael Maguire, Patti LuPone, Randy Graff, Rebecca Caine, Ruthie Henshall & Samantha Barks)"

I will also show you how to do searches within a single string, specifically the lyrics to the song “Who am I?”

whoami
## [1] "He thinks that man is me\nHe knew him at a glance!\nThat stranger he has found\nThis man could be my chance!\nWhy should I save his hide?\nWhy should I right this wrong\nWhen I have come so far\nAnd struggled for so long?\nIf I speak, I am condemned.\nIf I stay silent, I am damned!\n\nI am the master of hundreds of workers.\nThey all look to me.\nHow can I abandon them?\nHow would they live\nIf I am not free?\nIf I speak, they are condemned.\nIf I stay silent, I am damned!\n\nWho am I?\nCan I condemn this man to slavery\nPretend I do not feel his agony\nThis innocent who bears my face\nWho goes to judgement in my place\n\nWho am I?\nCan I conceal myself for evermore?\nPretend I'm not the man I was before?\nAnd must my name until I die\nBe no more than an alibi?\n\nMust I lie?\nHow can I ever face my fellow men?\nHow can I ever face myself again?\nMy soul belongs to God, I know\nI made that bargain long ago\nHe gave me hope when hope was gone\nHe gave me strength to journey on\nWho am I? Who am I?\nI am Jean Valjean!\n\nAnd so Javert, you see it's true\nThat man bears no more guilt than you!\nWho am I?\n24601!"

Note that I chose a dataset like this for a few reasons, including the diversity of words and numbers. I also chose to use a dataset like this because this is the format many datasets come in when downloading information off the web (such as Twitter or Youtube comments), so it is important to know how to vectorize your searches.

A brief introduction to the tidyverse

Before I begin talking about strings, I would like to introduce you to six basic functions that are important to working with data in R. These functions are part of the dplyr package, which is part of the tidyverse suite of packages. These packages, written by Hadley Wickham, are useful for doing data manipulation and analysis in an organized and easy-to-understand way.

To install the tidyverse, use these functions (note it will take a few minutes to install). Note you only have to run install.packages() once, whereas you will have to run library() every time you open R.

install.packages("tidyverse")
library(tidyverse)

Filter

The filter() function is used to choose rows/cases where conditions are true. We can use the following to do filtering:

  • ==
  • > and <
  • >= and <=
  • &, |, !
filter(lesmis, track_n ==1)
## # A tibble: 158 x 7
##    track_title            track_n  line lyric     element  element_artist  title
##    <chr>                    <int> <int> <chr>     <chr>    <chr>           <chr>
##  1 Prologue (Ft. Colm Wi…       1     1 <NA>      "\"Work… Claude-Michel … "Pro…
##  2 Prologue (Ft. Colm Wi…       1     2 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  3 Prologue (Ft. Colm Wi…       1     3 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  4 Prologue (Ft. Colm Wi…       1     4 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  5 Prologue (Ft. Colm Wi…       1     5 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  6 Prologue (Ft. Colm Wi…       1     6 Look dow… "PRISON… Claude-Michel … "Pro…
##  7 Prologue (Ft. Colm Wi…       1     7 Don't lo… "PRISON… Claude-Michel … "Pro…
##  8 Prologue (Ft. Colm Wi…       1     8 Look dow… "PRISON… Claude-Michel … "Pro…
##  9 Prologue (Ft. Colm Wi…       1     9 You're h… "PRISON… Claude-Michel … "Pro…
## 10 Prologue (Ft. Colm Wi…       1    10 The sun … "PRISON… Claude-Michel … "Pro…
## # … with 148 more rows
head(filter(lesmis, track_n <=5 & element =="VALJEAN"), 30)
## # A tibble: 30 x 7
##    track_title           track_n  line lyric       element element_artist  title
##    <chr>                   <int> <int> <chr>       <chr>   <chr>           <chr>
##  1 Prologue (Ft. Colm W…       1    36 Yes, it me… VALJEAN Claude-Michel … "Pro…
##  2 Prologue (Ft. Colm W…       1    39 I stole a … VALJEAN Claude-Michel … "Pro…
##  3 Prologue (Ft. Colm W…       1    41 I broke a … VALJEAN Claude-Michel … "Pro…
##  4 Prologue (Ft. Colm W…       1    42 My sister'… VALJEAN Claude-Michel … "Pro…
##  5 Prologue (Ft. Colm W…       1    43 And we wer… VALJEAN Claude-Michel … "Pro…
##  6 Prologue (Ft. Colm W…       1    46 I know the… VALJEAN Claude-Michel … "Pro…
##  7 Prologue (Ft. Colm W…       1    47 A slave of… VALJEAN Claude-Michel … "Pro…
##  8 Prologue (Ft. Colm W…       1    51 My name is… VALJEAN Claude-Michel … "Pro…
##  9 Prologue (Ft. Colm W…       1    61 Freedom is… VALJEAN Claude-Michel … "Pro…
## 10 Prologue (Ft. Colm W…       1    62 The earth … VALJEAN Claude-Michel … "Pro…
## # … with 20 more rows

Arrange

Arrange changes the order of rows based on a column or a set of columns. The default is ascending order. To use descending order, use desc().

#arrange(lesmis, desc(element))
head(arrange(lesmis, desc(element)), 30)
## # A tibble: 30 x 7
##    track_title      track_n  line lyric      element       element_artist title 
##    <chr>              <int> <int> <chr>      <chr>         <chr>          <chr> 
##  1 Look Down (Ft. …      14    22 Listen yo… YOUNG PROSTI… Claude-Michel… "Look…
##  2 Look Down (Ft. …      14    23 Crazy blo… YOUNG PROSTI… Claude-Michel… "Look…
##  3 Look Down (Ft. …      14    24 'Least I … YOUNG PROSTI… Claude-Michel… "Look…
##  4 Look Down (Ft. …      14    25 Some plea… YOUNG PROSTI… Claude-Michel… "Look…
##  5 Castle on a Clo…      11    32 Eponine, … Young Éponin… Claude-Michel… "Cast…
##  6 Castle on a Clo…      11    33 You look … Young Éponin… Claude-Michel… "Cast…
##  7 Castle on a Clo…      11    34 There's s… Young Éponin… Claude-Michel… "Cast…
##  8 Castle on a Clo…      11    35 And they … Young Éponin… Claude-Michel… "Cast…
##  9 Castle on a Clo…      11    36 And I'm s… Young Éponin… Claude-Michel… "Cast…
## 10 Castle on a Clo…      11    37 Still the… Young Éponin… Claude-Michel… "Cast…
## # … with 20 more rows
#arrange(lesmis, line)
head(arrange(lesmis, line), 30)
## # A tibble: 30 x 7
##    track_title       track_n  line lyric       element     element_artist title 
##    <chr>               <int> <int> <chr>       <chr>       <chr>          <chr> 
##  1 Prologue (Ft. Co…       1     1  <NA>       "\"Work So… Claude-Michel… "Prol…
##  2 What Have I Done…       2     1 "What have… "VALJEAN"   Claude-Michel… "What…
##  3 At the End of th…       3     1 "At the en… "WORKERS"   Claude-Michel… "At t…
##  4 I Dreamed a Drea…       4     1 "There was… "FANTINE"   Claude-Michel… "I Dr…
##  5 Lovely Ladies (F…       5     1 "I smell w… "SAILOR #1" Claude-Michel… "Love…
##  6 Fantine's Arrest…       6     1 "Here's so… "BAMATABOI… Claude-Michel… "Fant…
##  7 The Runaway Cart…       7     1 "Look at t… "VARIOUS T… Claude-Michel… "The …
##  8 Who Am I? (Ft. C…       8     1 "He thinks… "VALJEAN"   Claude-Michel… "Who …
##  9 Fantine's Death …       9     1 "Cosette, … "FANTINE (… Claude-Michel… "Fant…
## 10 Confrontation (F…      10     1 "Valjean, … "JAVERT"    Claude-Michel… "Conf…
## # … with 20 more rows

Select

Select allows you to choose one or more variable from your dataset. This is important because you may have columns that you simply don’t care about, and you don’t want to accidentially use them in your analysis. For example, twitter outputs often have over 80 columns of data, most of which is unneeded.

You can select using column names or indexes. Selecting by listing a column name with a minus sign before it is exclusion of a column.

#select(lesmis, 1:3)
head(select(lesmis, 1:3), 30)
## # A tibble: 30 x 3
##    track_title                                                     track_n  line
##    <chr>                                                             <int> <int>
##  1 Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Ro…       1     1
##  2 Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Ro…       1     2
##  3 Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Ro…       1     3
##  4 Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Ro…       1     4
##  5 Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Ro…       1     5
##  6 Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Ro…       1     6
##  7 Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Ro…       1     7
##  8 Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Ro…       1     8
##  9 Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Ro…       1     9
## 10 Prologue (Ft. Colm Wilkinson, Gary Morris, Maurice Barrier, Ro…       1    10
## # … with 20 more rows
#select(lesmis, track_title, element, lyric)
head(select(lesmis, track_title, element, lyric), 30)
## # A tibble: 30 x 3
##    track_title                                      element     lyric           
##    <chr>                                            <chr>       <chr>           
##  1 Prologue (Ft. Colm Wilkinson, Gary Morris, Maur… "\"Work So… <NA>            
##  2 Prologue (Ft. Colm Wilkinson, Gary Morris, Maur… "PRISONERS" Aaah, aah, aaaa…
##  3 Prologue (Ft. Colm Wilkinson, Gary Morris, Maur… "PRISONERS" Aaah, aah, aaaa…
##  4 Prologue (Ft. Colm Wilkinson, Gary Morris, Maur… "PRISONERS" Aaah, aah, aaaa…
##  5 Prologue (Ft. Colm Wilkinson, Gary Morris, Maur… "PRISONERS" Aaah, aah, aaaa…
##  6 Prologue (Ft. Colm Wilkinson, Gary Morris, Maur… "PRISONERS" Look down, look…
##  7 Prologue (Ft. Colm Wilkinson, Gary Morris, Maur… "PRISONERS" Don't look 'em …
##  8 Prologue (Ft. Colm Wilkinson, Gary Morris, Maur… "PRISONERS" Look down, look…
##  9 Prologue (Ft. Colm Wilkinson, Gary Morris, Maur… "PRISONERS" You're here unt…
## 10 Prologue (Ft. Colm Wilkinson, Gary Morris, Maur… "PRISONER … The sun is stro…
## # … with 20 more rows
#select(lesmis, -element_artist)
head(select(lesmis, -element_artist), 30)
## # A tibble: 30 x 6
##    track_title                       track_n  line lyric        element   title 
##    <chr>                               <int> <int> <chr>        <chr>     <chr> 
##  1 Prologue (Ft. Colm Wilkinson, Ga…       1     1 <NA>         "\"Work … "Prol…
##  2 Prologue (Ft. Colm Wilkinson, Ga…       1     2 Aaah, aah, … "PRISONE… "Prol…
##  3 Prologue (Ft. Colm Wilkinson, Ga…       1     3 Aaah, aah, … "PRISONE… "Prol…
##  4 Prologue (Ft. Colm Wilkinson, Ga…       1     4 Aaah, aah, … "PRISONE… "Prol…
##  5 Prologue (Ft. Colm Wilkinson, Ga…       1     5 Aaah, aah, … "PRISONE… "Prol…
##  6 Prologue (Ft. Colm Wilkinson, Ga…       1     6 Look down, … "PRISONE… "Prol…
##  7 Prologue (Ft. Colm Wilkinson, Ga…       1     7 Don't look … "PRISONE… "Prol…
##  8 Prologue (Ft. Colm Wilkinson, Ga…       1     8 Look down, … "PRISONE… "Prol…
##  9 Prologue (Ft. Colm Wilkinson, Ga…       1     9 You're here… "PRISONE… "Prol…
## 10 Prologue (Ft. Colm Wilkinson, Ga…       1    10 The sun is … "PRISONE… "Prol…
## # … with 20 more rows

Mutate

Sometimes, you want to create a new variable that is a function of an old variable. This function will add a new variable to the end of your dataset.

#mutate(lesmis, trackntotal = track_n/max(track_n))
head(mutate(lesmis, trackntotal = track_n/max(track_n)), 30)
## # A tibble: 30 x 8
##    track_title     track_n  line lyric  element element_artist title trackntotal
##    <chr>             <int> <int> <chr>  <chr>   <chr>          <chr>       <dbl>
##  1 Prologue (Ft. …       1     1 <NA>   "\"Wor… Claude-Michel… "Pro…      0.0227
##  2 Prologue (Ft. …       1     2 Aaah,… "PRISO… Claude-Michel… "Pro…      0.0227
##  3 Prologue (Ft. …       1     3 Aaah,… "PRISO… Claude-Michel… "Pro…      0.0227
##  4 Prologue (Ft. …       1     4 Aaah,… "PRISO… Claude-Michel… "Pro…      0.0227
##  5 Prologue (Ft. …       1     5 Aaah,… "PRISO… Claude-Michel… "Pro…      0.0227
##  6 Prologue (Ft. …       1     6 Look … "PRISO… Claude-Michel… "Pro…      0.0227
##  7 Prologue (Ft. …       1     7 Don't… "PRISO… Claude-Michel… "Pro…      0.0227
##  8 Prologue (Ft. …       1     8 Look … "PRISO… Claude-Michel… "Pro…      0.0227
##  9 Prologue (Ft. …       1     9 You'r… "PRISO… Claude-Michel… "Pro…      0.0227
## 10 Prologue (Ft. …       1    10 The s… "PRISO… Claude-Michel… "Pro…      0.0227
## # … with 20 more rows
lesmis = mutate(lesmis, title = str_extract(track_title, "[[:alpha:]?'\\s]+"))

head(lesmis, 30)
## # A tibble: 30 x 7
##    track_title            track_n  line lyric     element  element_artist  title
##    <chr>                    <int> <int> <chr>     <chr>    <chr>           <chr>
##  1 Prologue (Ft. Colm Wi…       1     1 <NA>      "\"Work… Claude-Michel … "Pro…
##  2 Prologue (Ft. Colm Wi…       1     2 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  3 Prologue (Ft. Colm Wi…       1     3 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  4 Prologue (Ft. Colm Wi…       1     4 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  5 Prologue (Ft. Colm Wi…       1     5 Aaah, aa… "PRISON… Claude-Michel … "Pro…
##  6 Prologue (Ft. Colm Wi…       1     6 Look dow… "PRISON… Claude-Michel … "Pro…
##  7 Prologue (Ft. Colm Wi…       1     7 Don't lo… "PRISON… Claude-Michel … "Pro…
##  8 Prologue (Ft. Colm Wi…       1     8 Look dow… "PRISON… Claude-Michel … "Pro…
##  9 Prologue (Ft. Colm Wi…       1     9 You're h… "PRISON… Claude-Michel … "Pro…
## 10 Prologue (Ft. Colm Wi…       1    10 The sun … "PRISON… Claude-Michel … "Pro…
## # … with 20 more rows

summarise and group_by

Summarise allows you to collapse a data frame into a single row that tells you some sort of summary about that data. Summarise is not very useful unless we use it in conjunction with group_by. This is because we want to see summaries within different groups, not just across the whole dataset. You can put together multiple summary functions into one summary table. If you want to create a new grouping mechanism, use ungroup() first.

Note that this is really helpful for getting summary statistics such as mean, median, standard deviation, etc., which I will not show here because this is text data, not numeric.

summarise(lesmis, n())
## # A tibble: 1 x 1
##   `n()`
##   <int>
## 1  2404
lesmis = group_by(lesmis, title)
head(lesmis)
## # A tibble: 6 x 7
## # Groups:   title [1]
##   track_title             track_n  line lyric    element  element_artist  title 
##   <chr>                     <int> <int> <chr>    <chr>    <chr>           <chr> 
## 1 Prologue (Ft. Colm Wil…       1     1 <NA>     "\"Work… Claude-Michel … "Prol…
## 2 Prologue (Ft. Colm Wil…       1     2 Aaah, a… "PRISON… Claude-Michel … "Prol…
## 3 Prologue (Ft. Colm Wil…       1     3 Aaah, a… "PRISON… Claude-Michel … "Prol…
## 4 Prologue (Ft. Colm Wil…       1     4 Aaah, a… "PRISON… Claude-Michel … "Prol…
## 5 Prologue (Ft. Colm Wil…       1     5 Aaah, a… "PRISON… Claude-Michel … "Prol…
## 6 Prologue (Ft. Colm Wil…       1     6 Look do… "PRISON… Claude-Michel … "Prol…
summarise(lesmis, nlines = n(), ncharacters = n_distinct(element))
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 44 x 3
##    title                           nlines ncharacters
##    <chr>                            <int>       <int>
##  1 "A Heart Full of Love "             39           5
##  2 "A Little Fall of Rain "            56          10
##  3 "At the Barricade "                 20          10
##  4 "At the End of the Day "            87          12
##  5 "Bring Him Home "                   21           1
##  6 "Building The Barricade"            55          15
##  7 "Castle on a Cloud "                43           6
##  8 "Confrontation "                    54           5
##  9 "Dawn of Anguish"                   14           4
## 10 "Do You Hear The People Sing? "     35           5
## # … with 34 more rows
lesmis = ungroup(lesmis)
lesmis = group_by(lesmis, element)

head(arrange(summarise(lesmis, nlines = n()), desc(nlines)), 20)
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 20 x 2
##    element                                               nlines
##    <chr>                                                  <int>
##  1 VALJEAN                                                  356
##  2 JAVERT                                                   242
##  3 MARIUS                                                   189
##  4 EPONINE                                                  136
##  5 ENJOLRAS                                                 121
##  6 THENARDIER                                               112
##  7 COSETTE                                                   84
##  8 FANTINE                                                   82
##  9 ALL                                                       33
## 10 GAVROCHE                                                  33
## 11 DRINKERS/DINERS                                           29
## 12 GRANTAIRE                                                 28
## 13 MADAME THENARDIER                                         28
## 14 WOMEN                                                     27
## 15 PRISONERS                                                 25
## 16 Thenardier greets another customer and takes his bag.     23
## 17 ENSEMBLE (softly, gaining strength)                       22
## 18 THENARDIER (greeting a new customer)                      22
## 19 BAMATABOIS                                                21
## 20 BEGGARS                                                   21
lesmis = ungroup(lesmis)

A brief introduction to strings

Don’t worry, we aren’t going to be working on particle physics today! Strings in R are a sequence of characters, which usually (in linguistic work, at least) are text-based data. In the tidyverse, the stringr has been developed to work with strings. You need to load this package into R along with the tidyverse.

There are seven main functions (tidyverse calls them verbs) that work with strings and patterns. I will go through five of them now:

  • str_detect(x, pattern) tells you if there’s any match to the pattern. You can use this in a filter!
str_detect(whoami, "Who am I")
## [1] TRUE
str_detect(lesmis$lyric, "Who am I")
##    [1]    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
##   [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [97] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [109] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
##  [121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [133] FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [145] FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE
##  [157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [169] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [181] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [193] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
##  [205] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [217] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [229] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [241] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [253] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [265] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [277] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [289] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [301] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [325] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [337] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [349] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [361] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [373] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [385] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [397] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [409] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [421] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [433] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [445] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [457] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
##  [481] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [493] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [505] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [517] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [529] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [541] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE
##  [553] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [565] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [577] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
##  [589] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [601] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [613] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [625] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE
##  [637] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [649] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [661] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [673] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
##  [685] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [697] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [709] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [721] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [733] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [745] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [757] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [769] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [781] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [793] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [805] FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [817] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [829] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [841] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [853] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
##  [865] FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [877] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
##  [889] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [901] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [913] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [925] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [937] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [949] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [961]    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
##  [973] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
##  [985] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
##  [997] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1009] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1021] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1033] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1045] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1057] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1069] FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1081] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1093] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1117] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1129] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1141] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1153] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1165] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1177] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE
## [1189] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1201] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1213] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1225] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1237] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1249] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1273] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1285] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1297] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1309] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1321] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1333] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1345] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1357] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1369] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1381] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [1393] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1405] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1429] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [1441] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1453] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1465] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1477] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1489] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1501] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1513] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1525] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1537] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1549] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1561] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1573] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [1585] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1597] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [1609] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1621] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1633] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1645] FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1657] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1669] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1681] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1693] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1705] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE    NA FALSE FALSE
## [1717] FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE
## [1729] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1741] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1753] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1765] FALSE    NA FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1777] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1789] FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [1801] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1813] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1825] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1837] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1849] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1861] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1873] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1885] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1897] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1909] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [1921] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1933] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1945] FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [1957] FALSE    NA FALSE FALSE    NA FALSE FALSE    NA FALSE FALSE    NA FALSE
## [1969] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1981] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1993] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2005] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA    NA    NA FALSE FALSE
## [2017] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2029] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
## [2041] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2053] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2065] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [2077] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2089] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [2101] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2113] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2125] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2137] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [2149] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2161]    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2173] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2185] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2197] FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [2209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA    NA FALSE FALSE FALSE
## [2221] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
## [2233] FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE    NA
## [2245] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2257] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [2269] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA    NA FALSE FALSE FALSE
## [2281] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2293] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2305] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [2317] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
## [2329] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2341] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2353] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [2365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE
## [2377] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2389] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2401] FALSE FALSE FALSE FALSE
filter(lesmis, str_detect(lyric, "Who am I"))
## # A tibble: 6 x 7
##   track_title       track_n  line lyric   element        element_artist  title  
##   <chr>               <int> <int> <chr>   <chr>          <chr>           <chr>  
## 1 Who Am I? (Ft. C…       8    17 Who am… VALJEAN        Claude-Michel … "Who A…
## 2 Who Am I? (Ft. C…       8    22 Who am… VALJEAN        Claude-Michel … "Who A…
## 3 Who Am I? (Ft. C…       8    34 Who am… Valjean appea… Claude-Michel … "Who A…
## 4 Who Am I? (Ft. C…       8    38 Who am… He unbuttons … Claude-Michel … "Who A…
## 5 Valjean's Confes…      42    34 Who am… VALJEAN        Claude-Michel … "Valje…
## 6 Valjean's Confes…      42    35 Who am… VALJEAN        Claude-Michel … "Valje…
  • str_count(x, pattern) counts the number of patterns.
str_count(whoami, "24601")
## [1] 1
str_count(whoami, "Who am I")
## [1] 5
str_count(lesmis$lyric, "24601")
##    [1] NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##   [25]  0  0  0  0  0  0  0  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##   [49]  0  1  0  0  0  1  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0
##   [73]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##   [97]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0
##  [121]  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0
##  [145]  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [169]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [193]  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [217]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [241]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [265]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [289]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [313]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [337]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [361]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [385]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [409]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [433]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [457]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0
##  [481]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [505]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [529]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1
##  [553]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [577]  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [601]  0  0  0  0  0  0  1  0  0  0  0  0  1  0  0  0  0  0  0  0  0  0  0  0
##  [625]  0  0  0  0  0  0  0 NA  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0
##  [649]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [673]  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [697]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [721]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [745]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [769]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [793]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0
##  [817]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [841]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0
##  [865]  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0
##  [889]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [913]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [937]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##  [961] NA  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0
##  [985]  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1009]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1033]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1057]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0
## [1081]  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0
## [1105]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1129]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1153]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1177]  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1201]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1225]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1249]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1273]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1297]  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0
## [1321]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1345]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1369]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0
## [1393]  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0
## [1417]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0
## [1441]  0  0 NA  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1465]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1489]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1513]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1537]  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0
## [1561]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0
## [1585]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0
## [1609]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1633]  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0 NA
## [1657]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1681]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1705]  0  0  0  0  0  0  0 NA  0 NA  0  0  0  0  0  0  0  0 NA  0  0  0  0  0
## [1729]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1753]  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0 NA  0  0  0  0  0  0  0 NA
## [1777]  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0 NA  0  0
## [1801]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA
## [1825]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA
## [1849]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1873]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0
## [1897]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA  0  0  0
## [1921]  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0
## [1945]  0  0  0  0 NA  0  0  0 NA  0  0  0  0 NA  0  0 NA  0  0 NA  0  0 NA  0
## [1969]  0  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0 NA
## [1993]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 NA NA NA  0  0
## [2017]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1 NA  0  0  0  0  0  0
## [2041]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [2065]  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [2089]  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [2113]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [2137]  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [2161] NA  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [2185]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [2209]  0  0  0  0  0  0  0 NA NA  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0
## [2233]  0  0  0  0  0  0 NA  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0  0  0
## [2257]  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0  0  0  0 NA NA  0  0  0
## [2281]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [2305]  0  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0 NA  0  0  0  0  0  0
## [2329]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [2353]  0  0 NA  0  0  0  0  0  0  0  0 NA  0  0  0  0  0  0  0 NA  0  0  0  0
## [2377]  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
## [2401]  0  0  0  0
filter(lesmis, str_count(lyric, "24601")>0)
## # A tibble: 7 x 7
##   track_title         track_n  line lyric    element       element_artist title 
##   <chr>                 <int> <int> <chr>    <chr>         <chr>          <chr> 
## 1 Prologue (Ft. Colm…       1    32 Now bri… JAVERT        Claude-Michel… "Prol…
## 2 Prologue (Ft. Colm…       1    50 Yes, 24… JAVERT        Claude-Michel… "Prol…
## 3 Prologue (Ft. Colm…       1    54 Do not … JAVERT        Claude-Michel… "Prol…
## 4 Who Am I? (Ft. Col…       8    38 Who am … He unbuttons… Claude-Michel… "Who …
## 5 Confrontation (Ft.…      10    22 24601... JAVERT        Claude-Michel… "Conf…
## 6 Confrontation (Ft.…      10    28 Come wi… JAVERT        Claude-Michel… "Conf…
## 7 Javert's Suicide (…      38    20 I will … JAVERT        Claude-Michel… "Jave…
  • str_subset(x, pattern) extracts the matching components.
str_subset(whoami, "Who am I")
## [1] "He thinks that man is me\nHe knew him at a glance!\nThat stranger he has found\nThis man could be my chance!\nWhy should I save his hide?\nWhy should I right this wrong\nWhen I have come so far\nAnd struggled for so long?\nIf I speak, I am condemned.\nIf I stay silent, I am damned!\n\nI am the master of hundreds of workers.\nThey all look to me.\nHow can I abandon them?\nHow would they live\nIf I am not free?\nIf I speak, they are condemned.\nIf I stay silent, I am damned!\n\nWho am I?\nCan I condemn this man to slavery\nPretend I do not feel his agony\nThis innocent who bears my face\nWho goes to judgement in my place\n\nWho am I?\nCan I conceal myself for evermore?\nPretend I'm not the man I was before?\nAnd must my name until I die\nBe no more than an alibi?\n\nMust I lie?\nHow can I ever face my fellow men?\nHow can I ever face myself again?\nMy soul belongs to God, I know\nI made that bargain long ago\nHe gave me hope when hope was gone\nHe gave me strength to journey on\nWho am I? Who am I?\nI am Jean Valjean!\n\nAnd so Javert, you see it's true\nThat man bears no more guilt than you!\nWho am I?\n24601!"
str_subset(lesmis$lyric, "24601")
## [1] "Now bring me Prisoner 24601" "Yes, 24601"                 
## [3] "Do not forget me, 24601"     "Who am I? 24601!"           
## [5] "24601..."                    "Come with me, 24601"        
## [7] "I will be waiting24601"
  • str_locate(x, pattern) gives the position of the match. This does so only for the first match - for every match, use str_locate_all().
str_locate(whoami, "Who am I")
##      start end
## [1,]   463 470
str_locate_all(whoami, "Who am I")
## [[1]]
##      start  end
## [1,]   463  470
## [2,]   606  613
## [3,]   955  962
## [4,]   965  972
## [5,]  1067 1074
head(str_locate(lesmis$lyric, "look down"), 30)
##       start end
##  [1,]    NA  NA
##  [2,]    NA  NA
##  [3,]    NA  NA
##  [4,]    NA  NA
##  [5,]    NA  NA
##  [6,]    12  20
##  [7,]    NA  NA
##  [8,]    12  20
##  [9,]    NA  NA
## [10,]    NA  NA
## [11,]    NA  NA
## [12,]    12  20
## [13,]    NA  NA
## [14,]    NA  NA
## [15,]    NA  NA
## [16,]    12  20
## [17,]    NA  NA
## [18,]    NA  NA
## [19,]    NA  NA
## [20,]    12  20
## [21,]    NA  NA
## [22,]    NA  NA
## [23,]    NA  NA
## [24,]    12  20
## [25,]    NA  NA
## [26,]    NA  NA
## [27,]    NA  NA
## [28,]    12  20
## [29,]    NA  NA
## [30,]    12  20
head(str_locate_all(lesmis$lyric, "look down"), 30)
## [[1]]
##      start end
## [1,]    NA  NA
## 
## [[2]]
##      start end
## 
## [[3]]
##      start end
## 
## [[4]]
##      start end
## 
## [[5]]
##      start end
## 
## [[6]]
##      start end
## [1,]    12  20
## 
## [[7]]
##      start end
## 
## [[8]]
##      start end
## [1,]    12  20
## 
## [[9]]
##      start end
## 
## [[10]]
##      start end
## 
## [[11]]
##      start end
## 
## [[12]]
##      start end
## [1,]    12  20
## 
## [[13]]
##      start end
## 
## [[14]]
##      start end
## 
## [[15]]
##      start end
## 
## [[16]]
##      start end
## [1,]    12  20
## 
## [[17]]
##      start end
## 
## [[18]]
##      start end
## 
## [[19]]
##      start end
## 
## [[20]]
##      start end
## [1,]    12  20
## 
## [[21]]
##      start end
## 
## [[22]]
##      start end
## 
## [[23]]
##      start end
## 
## [[24]]
##      start end
## [1,]    12  20
## 
## [[25]]
##      start end
## 
## [[26]]
##      start end
## 
## [[27]]
##      start end
## 
## [[28]]
##      start end
## [1,]    12  20
## 
## [[29]]
##      start end
## 
## [[30]]
##      start end
## [1,]    12  20
  • str_extract(x, pattern) extracts the text of the match. This does so only for the first match - for every match, use str_extract_all().
str_extract(whoami, "Who am I")
## [1] "Who am I"
str_extract_all(whoami, "Who am I")
## [[1]]
## [1] "Who am I" "Who am I" "Who am I" "Who am I" "Who am I"
str_extract(lesmis$title, "Prologue")
##    [1] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##    [7] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [13] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [19] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [25] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [31] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [37] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [43] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [49] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [55] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [61] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [67] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [73] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [79] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [85] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [91] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##   [97] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##  [103] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##  [109] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##  [115] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##  [121] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##  [127] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##  [133] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##  [139] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##  [145] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##  [151] "Prologue" "Prologue" "Prologue" "Prologue" "Prologue" "Prologue"
##  [157] "Prologue" "Prologue" NA         NA         NA         NA        
##  [163] NA         NA         NA         NA         NA         NA        
##  [169] NA         NA         NA         NA         NA         NA        
##  [175] NA         NA         NA         NA         NA         NA        
##  [181] NA         NA         NA         NA         NA         NA        
##  [187] NA         NA         NA         NA         NA         NA        
##  [193] NA         NA         NA         NA         NA         NA        
##  [199] NA         NA         NA         NA         NA         NA        
##  [205] NA         NA         NA         NA         NA         NA        
##  [211] NA         NA         NA         NA         NA         NA        
##  [217] NA         NA         NA         NA         NA         NA        
##  [223] NA         NA         NA         NA         NA         NA        
##  [229] NA         NA         NA         NA         NA         NA        
##  [235] NA         NA         NA         NA         NA         NA        
##  [241] NA         NA         NA         NA         NA         NA        
##  [247] NA         NA         NA         NA         NA         NA        
##  [253] NA         NA         NA         NA         NA         NA        
##  [259] NA         NA         NA         NA         NA         NA        
##  [265] NA         NA         NA         NA         NA         NA        
##  [271] NA         NA         NA         NA         NA         NA        
##  [277] NA         NA         NA         NA         NA         NA        
##  [283] NA         NA         NA         NA         NA         NA        
##  [289] NA         NA         NA         NA         NA         NA        
##  [295] NA         NA         NA         NA         NA         NA        
##  [301] NA         NA         NA         NA         NA         NA        
##  [307] NA         NA         NA         NA         NA         NA        
##  [313] NA         NA         NA         NA         NA         NA        
##  [319] NA         NA         NA         NA         NA         NA        
##  [325] NA         NA         NA         NA         NA         NA        
##  [331] NA         NA         NA         NA         NA         NA        
##  [337] NA         NA         NA         NA         NA         NA        
##  [343] NA         NA         NA         NA         NA         NA        
##  [349] NA         NA         NA         NA         NA         NA        
##  [355] NA         NA         NA         NA         NA         NA        
##  [361] NA         NA         NA         NA         NA         NA        
##  [367] NA         NA         NA         NA         NA         NA        
##  [373] NA         NA         NA         NA         NA         NA        
##  [379] NA         NA         NA         NA         NA         NA        
##  [385] NA         NA         NA         NA         NA         NA        
##  [391] NA         NA         NA         NA         NA         NA        
##  [397] NA         NA         NA         NA         NA         NA        
##  [403] NA         NA         NA         NA         NA         NA        
##  [409] NA         NA         NA         NA         NA         NA        
##  [415] NA         NA         NA         NA         NA         NA        
##  [421] NA         NA         NA         NA         NA         NA        
##  [427] NA         NA         NA         NA         NA         NA        
##  [433] NA         NA         NA         NA         NA         NA        
##  [439] NA         NA         NA         NA         NA         NA        
##  [445] NA         NA         NA         NA         NA         NA        
##  [451] NA         NA         NA         NA         NA         NA        
##  [457] NA         NA         NA         NA         NA         NA        
##  [463] NA         NA         NA         NA         NA         NA        
##  [469] NA         NA         NA         NA         NA         NA        
##  [475] NA         NA         NA         NA         NA         NA        
##  [481] NA         NA         NA         NA         NA         NA        
##  [487] NA         NA         NA         NA         NA         NA        
##  [493] NA         NA         NA         NA         NA         NA        
##  [499] NA         NA         NA         NA         NA         NA        
##  [505] NA         NA         NA         NA         NA         NA        
##  [511] NA         NA         NA         NA         NA         NA        
##  [517] NA         NA         NA         NA         NA         NA        
##  [523] NA         NA         NA         NA         NA         NA        
##  [529] NA         NA         NA         NA         NA         NA        
##  [535] NA         NA         NA         NA         NA         NA        
##  [541] NA         NA         NA         NA         NA         NA        
##  [547] NA         NA         NA         NA         NA         NA        
##  [553] NA         NA         NA         NA         NA         NA        
##  [559] NA         NA         NA         NA         NA         NA        
##  [565] NA         NA         NA         NA         NA         NA        
##  [571] NA         NA         NA         NA         NA         NA        
##  [577] NA         NA         NA         NA         NA         NA        
##  [583] NA         NA         NA         NA         NA         NA        
##  [589] NA         NA         NA         NA         NA         NA        
##  [595] NA         NA         NA         NA         NA         NA        
##  [601] NA         NA         NA         NA         NA         NA        
##  [607] NA         NA         NA         NA         NA         NA        
##  [613] NA         NA         NA         NA         NA         NA        
##  [619] NA         NA         NA         NA         NA         NA        
##  [625] NA         NA         NA         NA         NA         NA        
##  [631] NA         NA         NA         NA         NA         NA        
##  [637] NA         NA         NA         NA         NA         NA        
##  [643] NA         NA         NA         NA         NA         NA        
##  [649] NA         NA         NA         NA         NA         NA        
##  [655] NA         NA         NA         NA         NA         NA        
##  [661] NA         NA         NA         NA         NA         NA        
##  [667] NA         NA         NA         NA         NA         NA        
##  [673] NA         NA         NA         NA         NA         NA        
##  [679] NA         NA         NA         NA         NA         NA        
##  [685] NA         NA         NA         NA         NA         NA        
##  [691] NA         NA         NA         NA         NA         NA        
##  [697] NA         NA         NA         NA         NA         NA        
##  [703] NA         NA         NA         NA         NA         NA        
##  [709] NA         NA         NA         NA         NA         NA        
##  [715] NA         NA         NA         NA         NA         NA        
##  [721] NA         NA         NA         NA         NA         NA        
##  [727] NA         NA         NA         NA         NA         NA        
##  [733] NA         NA         NA         NA         NA         NA        
##  [739] NA         NA         NA         NA         NA         NA        
##  [745] NA         NA         NA         NA         NA         NA        
##  [751] NA         NA         NA         NA         NA         NA        
##  [757] NA         NA         NA         NA         NA         NA        
##  [763] NA         NA         NA         NA         NA         NA        
##  [769] NA         NA         NA         NA         NA         NA        
##  [775] NA         NA         NA         NA         NA         NA        
##  [781] NA         NA         NA         NA         NA         NA        
##  [787] NA         NA         NA         NA         NA         NA        
##  [793] NA         NA         NA         NA         NA         NA        
##  [799] NA         NA         NA         NA         NA         NA        
##  [805] NA         NA         NA         NA         NA         NA        
##  [811] NA         NA         NA         NA         NA         NA        
##  [817] NA         NA         NA         NA         NA         NA        
##  [823] NA         NA         NA         NA         NA         NA        
##  [829] NA         NA         NA         NA         NA         NA        
##  [835] NA         NA         NA         NA         NA         NA        
##  [841] NA         NA         NA         NA         NA         NA        
##  [847] NA         NA         NA         NA         NA         NA        
##  [853] NA         NA         NA         NA         NA         NA        
##  [859] NA         NA         NA         NA         NA         NA        
##  [865] NA         NA         NA         NA         NA         NA        
##  [871] NA         NA         NA         NA         NA         NA        
##  [877] NA         NA         NA         NA         NA         NA        
##  [883] NA         NA         NA         NA         NA         NA        
##  [889] NA         NA         NA         NA         NA         NA        
##  [895] NA         NA         NA         NA         NA         NA        
##  [901] NA         NA         NA         NA         NA         NA        
##  [907] NA         NA         NA         NA         NA         NA        
##  [913] NA         NA         NA         NA         NA         NA        
##  [919] NA         NA         NA         NA         NA         NA        
##  [925] NA         NA         NA         NA         NA         NA        
##  [931] NA         NA         NA         NA         NA         NA        
##  [937] NA         NA         NA         NA         NA         NA        
##  [943] NA         NA         NA         NA         NA         NA        
##  [949] NA         NA         NA         NA         NA         NA        
##  [955] NA         NA         NA         NA         NA         NA        
##  [961] NA         NA         NA         NA         NA         NA        
##  [967] NA         NA         NA         NA         NA         NA        
##  [973] NA         NA         NA         NA         NA         NA        
##  [979] NA         NA         NA         NA         NA         NA        
##  [985] NA         NA         NA         NA         NA         NA        
##  [991] NA         NA         NA         NA         NA         NA        
##  [997] NA         NA         NA         NA         NA         NA        
## [1003] NA         NA         NA         NA         NA         NA        
## [1009] NA         NA         NA         NA         NA         NA        
## [1015] NA         NA         NA         NA         NA         NA        
## [1021] NA         NA         NA         NA         NA         NA        
## [1027] NA         NA         NA         NA         NA         NA        
## [1033] NA         NA         NA         NA         NA         NA        
## [1039] NA         NA         NA         NA         NA         NA        
## [1045] NA         NA         NA         NA         NA         NA        
## [1051] NA         NA         NA         NA         NA         NA        
## [1057] NA         NA         NA         NA         NA         NA        
## [1063] NA         NA         NA         NA         NA         NA        
## [1069] NA         NA         NA         NA         NA         NA        
## [1075] NA         NA         NA         NA         NA         NA        
## [1081] NA         NA         NA         NA         NA         NA        
## [1087] NA         NA         NA         NA         NA         NA        
## [1093] NA         NA         NA         NA         NA         NA        
## [1099] NA         NA         NA         NA         NA         NA        
## [1105] NA         NA         NA         NA         NA         NA        
## [1111] NA         NA         NA         NA         NA         NA        
## [1117] NA         NA         NA         NA         NA         NA        
## [1123] NA         NA         NA         NA         NA         NA        
## [1129] NA         NA         NA         NA         NA         NA        
## [1135] NA         NA         NA         NA         NA         NA        
## [1141] NA         NA         NA         NA         NA         NA        
## [1147] NA         NA         NA         NA         NA         NA        
## [1153] NA         NA         NA         NA         NA         NA        
## [1159] NA         NA         NA         NA         NA         NA        
## [1165] NA         NA         NA         NA         NA         NA        
## [1171] NA         NA         NA         NA         NA         NA        
## [1177] NA         NA         NA         NA         NA         NA        
## [1183] NA         NA         NA         NA         NA         NA        
## [1189] NA         NA         NA         NA         NA         NA        
## [1195] NA         NA         NA         NA         NA         NA        
## [1201] NA         NA         NA         NA         NA         NA        
## [1207] NA         NA         NA         NA         NA         NA        
## [1213] NA         NA         NA         NA         NA         NA        
## [1219] NA         NA         NA         NA         NA         NA        
## [1225] NA         NA         NA         NA         NA         NA        
## [1231] NA         NA         NA         NA         NA         NA        
## [1237] NA         NA         NA         NA         NA         NA        
## [1243] NA         NA         NA         NA         NA         NA        
## [1249] NA         NA         NA         NA         NA         NA        
## [1255] NA         NA         NA         NA         NA         NA        
## [1261] NA         NA         NA         NA         NA         NA        
## [1267] NA         NA         NA         NA         NA         NA        
## [1273] NA         NA         NA         NA         NA         NA        
## [1279] NA         NA         NA         NA         NA         NA        
## [1285] NA         NA         NA         NA         NA         NA        
## [1291] NA         NA         NA         NA         NA         NA        
## [1297] NA         NA         NA         NA         NA         NA        
## [1303] NA         NA         NA         NA         NA         NA        
## [1309] NA         NA         NA         NA         NA         NA        
## [1315] NA         NA         NA         NA         NA         NA        
## [1321] NA         NA         NA         NA         NA         NA        
## [1327] NA         NA         NA         NA         NA         NA        
## [1333] NA         NA         NA         NA         NA         NA        
## [1339] NA         NA         NA         NA         NA         NA        
## [1345] NA         NA         NA         NA         NA         NA        
## [1351] NA         NA         NA         NA         NA         NA        
## [1357] NA         NA         NA         NA         NA         NA        
## [1363] NA         NA         NA         NA         NA         NA        
## [1369] NA         NA         NA         NA         NA         NA        
## [1375] NA         NA         NA         NA         NA         NA        
## [1381] NA         NA         NA         NA         NA         NA        
## [1387] NA         NA         NA         NA         NA         NA        
## [1393] NA         NA         NA         NA         NA         NA        
## [1399] NA         NA         NA         NA         NA         NA        
## [1405] NA         NA         NA         NA         NA         NA        
## [1411] NA         NA         NA         NA         NA         NA        
## [1417] NA         NA         NA         NA         NA         NA        
## [1423] NA         NA         NA         NA         NA         NA        
## [1429] NA         NA         NA         NA         NA         NA        
## [1435] NA         NA         NA         NA         NA         NA        
## [1441] NA         NA         NA         NA         NA         NA        
## [1447] NA         NA         NA         NA         NA         NA        
## [1453] NA         NA         NA         NA         NA         NA        
## [1459] NA         NA         NA         NA         NA         NA        
## [1465] NA         NA         NA         NA         NA         NA        
## [1471] NA         NA         NA         NA         NA         NA        
## [1477] NA         NA         NA         NA         NA         NA        
## [1483] NA         NA         NA         NA         NA         NA        
## [1489] NA         NA         NA         NA         NA         NA        
## [1495] NA         NA         NA         NA         NA         NA        
## [1501] NA         NA         NA         NA         NA         NA        
## [1507] NA         NA         NA         NA         NA         NA        
## [1513] NA         NA         NA         NA         NA         NA        
## [1519] NA         NA         NA         NA         NA         NA        
## [1525] NA         NA         NA         NA         NA         NA        
## [1531] NA         NA         NA         NA         NA         NA        
## [1537] NA         NA         NA         NA         NA         NA        
## [1543] NA         NA         NA         NA         NA         NA        
## [1549] NA         NA         NA         NA         NA         NA        
## [1555] NA         NA         NA         NA         NA         NA        
## [1561] NA         NA         NA         NA         NA         NA        
## [1567] NA         NA         NA         NA         NA         NA        
## [1573] NA         NA         NA         NA         NA         NA        
## [1579] NA         NA         NA         NA         NA         NA        
## [1585] NA         NA         NA         NA         NA         NA        
## [1591] NA         NA         NA         NA         NA         NA        
## [1597] NA         NA         NA         NA         NA         NA        
## [1603] NA         NA         NA         NA         NA         NA        
## [1609] NA         NA         NA         NA         NA         NA        
## [1615] NA         NA         NA         NA         NA         NA        
## [1621] NA         NA         NA         NA         NA         NA        
## [1627] NA         NA         NA         NA         NA         NA        
## [1633] NA         NA         NA         NA         NA         NA        
## [1639] NA         NA         NA         NA         NA         NA        
## [1645] NA         NA         NA         NA         NA         NA        
## [1651] NA         NA         NA         NA         NA         NA        
## [1657] NA         NA         NA         NA         NA         NA        
## [1663] NA         NA         NA         NA         NA         NA        
## [1669] NA         NA         NA         NA         NA         NA        
## [1675] NA         NA         NA         NA         NA         NA        
## [1681] NA         NA         NA         NA         NA         NA        
## [1687] NA         NA         NA         NA         NA         NA        
## [1693] NA         NA         NA         NA         NA         NA        
## [1699] NA         NA         NA         NA         NA         NA        
## [1705] NA         NA         NA         NA         NA         NA        
## [1711] NA         NA         NA         NA         NA         NA        
## [1717] NA         NA         NA         NA         NA         NA        
## [1723] NA         NA         NA         NA         NA         NA        
## [1729] NA         NA         NA         NA         NA         NA        
## [1735] NA         NA         NA         NA         NA         NA        
## [1741] NA         NA         NA         NA         NA         NA        
## [1747] NA         NA         NA         NA         NA         NA        
## [1753] NA         NA         NA         NA         NA         NA        
## [1759] NA         NA         NA         NA         NA         NA        
## [1765] NA         NA         NA         NA         NA         NA        
## [1771] NA         NA         NA         NA         NA         NA        
## [1777] NA         NA         NA         NA         NA         NA        
## [1783] NA         NA         NA         NA         NA         NA        
## [1789] NA         NA         NA         NA         NA         NA        
## [1795] NA         NA         NA         NA         NA         NA        
## [1801] NA         NA         NA         NA         NA         NA        
## [1807] NA         NA         NA         NA         NA         NA        
## [1813] NA         NA         NA         NA         NA         NA        
## [1819] NA         NA         NA         NA         NA         NA        
## [1825] NA         NA         NA         NA         NA         NA        
## [1831] NA         NA         NA         NA         NA         NA        
## [1837] NA         NA         NA         NA         NA         NA        
## [1843] NA         NA         NA         NA         NA         NA        
## [1849] NA         NA         NA         NA         NA         NA        
## [1855] NA         NA         NA         NA         NA         NA        
## [1861] NA         NA         NA         NA         NA         NA        
## [1867] NA         NA         NA         NA         NA         NA        
## [1873] NA         NA         NA         NA         NA         NA        
## [1879] NA         NA         NA         NA         NA         NA        
## [1885] NA         NA         NA         NA         NA         NA        
## [1891] NA         NA         NA         NA         NA         NA        
## [1897] NA         NA         NA         NA         NA         NA        
## [1903] NA         NA         NA         NA         NA         NA        
## [1909] NA         NA         NA         NA         NA         NA        
## [1915] NA         NA         NA         NA         NA         NA        
## [1921] NA         NA         NA         NA         NA         NA        
## [1927] NA         NA         NA         NA         NA         NA        
## [1933] NA         NA         NA         NA         NA         NA        
## [1939] NA         NA         NA         NA         NA         NA        
## [1945] NA         NA         NA         NA         NA         NA        
## [1951] NA         NA         NA         NA         NA         NA        
## [1957] NA         NA         NA         NA         NA         NA        
## [1963] NA         NA         NA         NA         NA         NA        
## [1969] NA         NA         NA         NA         NA         NA        
## [1975] NA         NA         NA         NA         NA         NA        
## [1981] NA         NA         NA         NA         NA         NA        
## [1987] NA         NA         NA         NA         NA         NA        
## [1993] NA         NA         NA         NA         NA         NA        
## [1999] NA         NA         NA         NA         NA         NA        
## [2005] NA         NA         NA         NA         NA         NA        
## [2011] NA         NA         NA         NA         NA         NA        
## [2017] NA         NA         NA         NA         NA         NA        
## [2023] NA         NA         NA         NA         NA         NA        
## [2029] NA         NA         NA         NA         NA         NA        
## [2035] NA         NA         NA         NA         NA         NA        
## [2041] NA         NA         NA         NA         NA         NA        
## [2047] NA         NA         NA         NA         NA         NA        
## [2053] NA         NA         NA         NA         NA         NA        
## [2059] NA         NA         NA         NA         NA         NA        
## [2065] NA         NA         NA         NA         NA         NA        
## [2071] NA         NA         NA         NA         NA         NA        
## [2077] NA         NA         NA         NA         NA         NA        
## [2083] NA         NA         NA         NA         NA         NA        
## [2089] NA         NA         NA         NA         NA         NA        
## [2095] NA         NA         NA         NA         NA         NA        
## [2101] NA         NA         NA         NA         NA         NA        
## [2107] NA         NA         NA         NA         NA         NA        
## [2113] NA         NA         NA         NA         NA         NA        
## [2119] NA         NA         NA         NA         NA         NA        
## [2125] NA         NA         NA         NA         NA         NA        
## [2131] NA         NA         NA         NA         NA         NA        
## [2137] NA         NA         NA         NA         NA         NA        
## [2143] NA         NA         NA         NA         NA         NA        
## [2149] NA         NA         NA         NA         NA         NA        
## [2155] NA         NA         NA         NA         NA         NA        
## [2161] NA         NA         NA         NA         NA         NA        
## [2167] NA         NA         NA         NA         NA         NA        
## [2173] NA         NA         NA         NA         NA         NA        
## [2179] NA         NA         NA         NA         NA         NA        
## [2185] NA         NA         NA         NA         NA         NA        
## [2191] NA         NA         NA         NA         NA         NA        
## [2197] NA         NA         NA         NA         NA         NA        
## [2203] NA         NA         NA         NA         NA         NA        
## [2209] NA         NA         NA         NA         NA         NA        
## [2215] NA         NA         NA         NA         NA         NA        
## [2221] NA         NA         NA         NA         NA         NA        
## [2227] NA         NA         NA         NA         NA         NA        
## [2233] NA         NA         NA         NA         NA         NA        
## [2239] NA         NA         NA         NA         NA         NA        
## [2245] NA         NA         NA         NA         NA         NA        
## [2251] NA         NA         NA         NA         NA         NA        
## [2257] NA         NA         NA         NA         NA         NA        
## [2263] NA         NA         NA         NA         NA         NA        
## [2269] NA         NA         NA         NA         NA         NA        
## [2275] NA         NA         NA         NA         NA         NA        
## [2281] NA         NA         NA         NA         NA         NA        
## [2287] NA         NA         NA         NA         NA         NA        
## [2293] NA         NA         NA         NA         NA         NA        
## [2299] NA         NA         NA         NA         NA         NA        
## [2305] NA         NA         NA         NA         NA         NA        
## [2311] NA         NA         NA         NA         NA         NA        
## [2317] NA         NA         NA         NA         NA         NA        
## [2323] NA         NA         NA         NA         NA         NA        
## [2329] NA         NA         NA         NA         NA         NA        
## [2335] NA         NA         NA         NA         NA         NA        
## [2341] NA         NA         NA         NA         NA         NA        
## [2347] NA         NA         NA         NA         NA         NA        
## [2353] NA         NA         NA         NA         NA         NA        
## [2359] NA         NA         NA         NA         NA         NA        
## [2365] NA         NA         NA         NA         NA         NA        
## [2371] NA         NA         NA         NA         NA         NA        
## [2377] NA         NA         NA         NA         NA         NA        
## [2383] NA         NA         NA         NA         NA         NA        
## [2389] NA         NA         NA         NA         NA         NA        
## [2395] NA         NA         NA         NA         NA         NA        
## [2401] NA         NA         NA         NA
  • str_replace(x, pattern, replacement) replaces the matches with new text. To replace every instance of a match, use str_replace_all().
str_replace(whoami, "Who am I", "I am Sam")
## [1] "He thinks that man is me\nHe knew him at a glance!\nThat stranger he has found\nThis man could be my chance!\nWhy should I save his hide?\nWhy should I right this wrong\nWhen I have come so far\nAnd struggled for so long?\nIf I speak, I am condemned.\nIf I stay silent, I am damned!\n\nI am the master of hundreds of workers.\nThey all look to me.\nHow can I abandon them?\nHow would they live\nIf I am not free?\nIf I speak, they are condemned.\nIf I stay silent, I am damned!\n\nI am Sam?\nCan I condemn this man to slavery\nPretend I do not feel his agony\nThis innocent who bears my face\nWho goes to judgement in my place\n\nWho am I?\nCan I conceal myself for evermore?\nPretend I'm not the man I was before?\nAnd must my name until I die\nBe no more than an alibi?\n\nMust I lie?\nHow can I ever face my fellow men?\nHow can I ever face myself again?\nMy soul belongs to God, I know\nI made that bargain long ago\nHe gave me hope when hope was gone\nHe gave me strength to journey on\nWho am I? Who am I?\nI am Jean Valjean!\n\nAnd so Javert, you see it's true\nThat man bears no more guilt than you!\nWho am I?\n24601!"
str_replace_all(whoami, "Who am I", "I am Sam")
## [1] "He thinks that man is me\nHe knew him at a glance!\nThat stranger he has found\nThis man could be my chance!\nWhy should I save his hide?\nWhy should I right this wrong\nWhen I have come so far\nAnd struggled for so long?\nIf I speak, I am condemned.\nIf I stay silent, I am damned!\n\nI am the master of hundreds of workers.\nThey all look to me.\nHow can I abandon them?\nHow would they live\nIf I am not free?\nIf I speak, they are condemned.\nIf I stay silent, I am damned!\n\nI am Sam?\nCan I condemn this man to slavery\nPretend I do not feel his agony\nThis innocent who bears my face\nWho goes to judgement in my place\n\nI am Sam?\nCan I conceal myself for evermore?\nPretend I'm not the man I was before?\nAnd must my name until I die\nBe no more than an alibi?\n\nMust I lie?\nHow can I ever face my fellow men?\nHow can I ever face myself again?\nMy soul belongs to God, I know\nI made that bargain long ago\nHe gave me hope when hope was gone\nHe gave me strength to journey on\nI am Sam? I am Sam?\nI am Jean Valjean!\n\nAnd so Javert, you see it's true\nThat man bears no more guilt than you!\nI am Sam?\n24601!"
Javert = filter(lesmis, (str_detect(lyric, "Javert")))
Javert
## # A tibble: 21 x 7
##    track_title        track_n  line lyric    element       element_artist title 
##    <chr>                <int> <int> <chr>    <chr>         <chr>          <chr> 
##  1 Prologue (Ft. Col…       1    52 And I'm… JAVERT        Claude-Michel… "Prol…
##  2 Fantine's Arrest …       6    28 Let him… JAVERT        Claude-Michel… "Fant…
##  3 Fantine's Arrest …       6    33 Javert,… BAMATABOIS    Claude-Michel… "Fant…
##  4 Fantine's Arrest …       6    51 A momen… VALJEAN       Claude-Michel… "Fant…
##  5 Who Am I? (Ft. Co…       8    36 And so … He unbuttons… Claude-Michel… "Who …
##  6 Confrontation (Ft…      10     2 Before … VALJEAN       Claude-Michel… "Conf…
##  7 Confrontation (Ft…      10    31 I am wa… JAVERT        Claude-Michel… "Conf…
##  8 Confrontation (Ft…      10    39 I am wa… JAVERT        Claude-Michel… "Conf…
##  9 Confrontation (Ft…      10    43 You kno… JAVERT        Claude-Michel… "Conf…
## 10 The Robbery / Jav…      15    51 Run for… EPONINE       Claude-Michel… "The …
## # … with 11 more rows
Javert$lyric
##  [1] "And I'm Javert"                                             
##  [2] "Let him answer to Javert"                                   
##  [3] "Javert, would you believe it"                               
##  [4] "A moment of your time, Javert"                              
##  [5] "And so Javert, you see it's true"                           
##  [6] "Before you say another word, Javert"                        
##  [7] "I am warning you, Javert"                                   
##  [8] "I am warning you, Javert"                                   
##  [9] "You know nothing of Javert"                                 
## [10] "Run for it!  It's Javert!"                                  
## [11] "Well, let him speak to Javert"                              
## [12] "Must be Javert!"                                            
## [13] "I know this man, my friends, his name's Inspector Javert"   
## [14] "The people will decide your fate, Inspector Javert!"        
## [15] "A spy who calls himself Javert!"                            
## [16] "Give me the spy Javert"                                     
## [17] "You'll still answer to Javert!"                             
## [18] "It's you, Javert!I knew you wouldn't wait too long"         
## [19] "Look down, Javert"                                          
## [20] "Give way, Javert"                                           
## [21] "It is either Valjean or Javert!How can I now allow this man"
str_replace_all(Javert$lyric, "Javert", "Valjean")
##  [1] "And I'm Valjean"                                             
##  [2] "Let him answer to Valjean"                                   
##  [3] "Valjean, would you believe it"                               
##  [4] "A moment of your time, Valjean"                              
##  [5] "And so Valjean, you see it's true"                           
##  [6] "Before you say another word, Valjean"                        
##  [7] "I am warning you, Valjean"                                   
##  [8] "I am warning you, Valjean"                                   
##  [9] "You know nothing of Valjean"                                 
## [10] "Run for it!  It's Valjean!"                                  
## [11] "Well, let him speak to Valjean"                              
## [12] "Must be Valjean!"                                            
## [13] "I know this man, my friends, his name's Inspector Valjean"   
## [14] "The people will decide your fate, Inspector Valjean!"        
## [15] "A spy who calls himself Valjean!"                            
## [16] "Give me the spy Valjean"                                     
## [17] "You'll still answer to Valjean!"                             
## [18] "It's you, Valjean!I knew you wouldn't wait too long"         
## [19] "Look down, Valjean"                                          
## [20] "Give way, Valjean"                                           
## [21] "It is either Valjean or Valjean!How can I now allow this man"

Regular expressions

Now that we’ve gotten through the basics of string manipulation in R, we need to think about how to best deal with strings in R. For example, what if we wanted to find all instances of the word “hey” in a set of text messages? Or, what if we want to search for words that have spelling alternations (i.e., gray vs. grey, color vs. colour)? Or if we want to see how many times any form of a verb is used (i.e., write, writes, wrote)?

One way to do this is to do a search for hey, then one for heyy, then one for heyyy, etc. But that gets really tiresome really quickly. Instead, we can use regular expressions (often called regex or regexp for short). Regular expressions are a concise and flexible tool for describing patterns in strings. They are used in just about every programming language you might come into contact with. From Hadley Wickham and Garrett’s R For Data Science (Ch 14):

Regular expressions are useful because strings usually contain unstructured or semi-structured data, and regexps are a concise language for describing patterns in strings. When you first look at a regexp, you’ll think a cat walked across your keyboard, but as your understanding improves they will soon start to make sense.

In all of the cases above, when we looked for patterns within a string, the literal patterns could be replaced with regular expressions. In fact, R actually looks for regular expressions as a default - the literal patterns you are giving R are actually considered to be (very specific) regular expressions! Note that because we are searching for strings, all patterns (literal or regex) go within quotes. Also note that if you want to ignore case, you put the regex inside of regex() with ignore_case = TRUE:

str_extract_all(whoami, regex("who AM i", ignore_case = TRUE))
## [[1]]
## [1] "Who am I" "Who am I" "Who am I" "Who am I" "Who am I"
head(str_extract(lesmis$lyric, regex("aah", ignore_case = TRUE)), 30)
##  [1] NA    "aah" "aah" "aah" "aah" NA    NA    NA    NA    NA    NA    NA   
## [13] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [25] NA    NA    NA    NA    NA    NA

After literal expressions, the next step up in complexity is ., which matches any character (except a newline). Note that this is considered “greedy” - it matches everything - and should be used with caution!

str_extract(whoami, "V.l")
## [1] "Val"
str_extract(lesmis$lyric, "a.h")
##    [1] NA    "aah" "aah" "aah" "aah" NA    NA    NA    NA    NA    NA    NA   
##   [13] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##   [25] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##   [37] NA    NA    NA    "a h" NA    "ath" NA    NA    NA    NA    NA    NA   
##   [49] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    "aah" NA   
##   [61] NA    NA    NA    "ath" NA    NA    NA    NA    NA    NA    NA    NA   
##   [73] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##   [85] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##   [97] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [109] NA    NA    NA    NA    NA    NA    NA    "ath" NA    NA    NA    NA   
##  [121] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [133] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [145] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [157] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [169] NA    NA    NA    "ach" NA    NA    NA    NA    NA    NA    NA    NA   
##  [181] NA    NA    "ath" NA    NA    NA    NA    NA    NA    "ach" NA    NA   
##  [193] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [205] NA    NA    NA    NA    NA    NA    NA    NA    "ash" NA    "a h" NA   
##  [217] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    "ath" NA   
##  [229] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [241] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [253] NA    NA    NA    NA    NA    NA    "ath" NA    NA    NA    NA    NA   
##  [265] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [277] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [289] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [301] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [313] "ath" NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [325] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [337] NA    NA    NA    NA    NA    NA    NA    "ath" NA    NA    NA    NA   
##  [349] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [361] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [373] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [385] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [397] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [409] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [421] NA    NA    NA    NA    NA    NA    NA    "ath" NA    NA    NA    NA   
##  [433] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [445] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [457] NA    NA    NA    NA    NA    NA    NA    NA    "ach" NA    NA    NA   
##  [469] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [481] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [493] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [505] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [517] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [529] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [541] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [553] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [565] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [577] NA    NA    NA    NA    NA    NA    NA    NA    NA    "ach" NA    NA   
##  [589] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [601] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [613] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [625] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [637] NA    NA    NA    NA    NA    NA    NA    NA    "a h" NA    NA    NA   
##  [649] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [661] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [673] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [685] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [697] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [709] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [721] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [733] NA    NA    "a h" NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [745] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [757] NA    NA    NA    NA    NA    NA    NA    NA    NA    "a h" NA    NA   
##  [769] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [781] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [793] NA    NA    NA    NA    NA    "a h" NA    NA    NA    NA    NA    NA   
##  [805] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [817] NA    NA    NA    NA    NA    NA    NA    NA    NA    "ath" NA    NA   
##  [829] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    "ach" NA   
##  [841] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [853] "ach" NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [865] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [877] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [889] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [901] NA    NA    NA    NA    "a h" NA    NA    NA    NA    NA    NA    NA   
##  [913] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [925] NA    NA    "a h" NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [937] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [949] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [961] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [973] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [985] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
##  [997] NA    NA    "ath" NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1009] NA    NA    NA    NA    "ash" NA    NA    NA    NA    NA    NA    NA   
## [1021] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1033] NA    NA    NA    NA    "ath" NA    NA    NA    NA    NA    NA    NA   
## [1045] NA    NA    NA    NA    NA    "ach" NA    NA    NA    NA    NA    NA   
## [1057] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1069] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1081] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1093] "ath" NA    NA    NA    NA    NA    NA    NA    "ash" NA    NA    NA   
## [1105] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1117] NA    NA    NA    NA    NA    NA    NA    NA    NA    "agh" NA    "aah"
## [1129] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1141] NA    NA    NA    NA    NA    NA    NA    "ath" NA    NA    NA    NA   
## [1153] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1165] NA    NA    "a h" NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1177] NA    NA    "ath" "ath" NA    NA    NA    NA    NA    NA    NA    NA   
## [1189] NA    NA    NA    NA    NA    "ath" NA    "ath" NA    "ach" "ath" NA   
## [1201] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1213] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1225] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1237] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1249] NA    NA    NA    NA    NA    NA    NA    NA    NA    "ach" NA    NA   
## [1261] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1273] NA    NA    "ach" NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1285] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1297] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1309] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1321] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1333] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1345] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1357] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1369] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1381] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1393] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1405] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1417] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1429] NA    NA    NA    NA    "ath" NA    NA    NA    NA    NA    NA    NA   
## [1441] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1453] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1465] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1477] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1489] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1501] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1513] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1525] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1537] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1549] NA    NA    NA    NA    NA    "ach" NA    NA    NA    NA    NA    NA   
## [1561] NA    NA    NA    NA    NA    NA    NA    NA    NA    "ath" NA    NA   
## [1573] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1585] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1597] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    "a h"
## [1609] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1621] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1633] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1645] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1657] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    "ach"
## [1669] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1681] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1693] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    "ath"
## [1705] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1717] NA    NA    NA    "ath" NA    NA    NA    NA    NA    NA    NA    NA   
## [1729] NA    NA    NA    NA    NA    NA    NA    NA    NA    "a h" NA    NA   
## [1741] "ash" NA    NA    NA    NA    NA    "ath" NA    NA    NA    NA    NA   
## [1753] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1765] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1777] NA    NA    NA    "ach" NA    NA    NA    NA    NA    NA    NA    NA   
## [1789] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1801] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1813] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1825] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1837] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    "ath" NA   
## [1849] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1861] NA    NA    NA    NA    NA    "ath" NA    NA    NA    NA    NA    NA   
## [1873] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1885] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1897] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1909] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1921] NA    NA    "ath" NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1933] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1945] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1957] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [1969] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    "a h"
## [1981] NA    NA    NA    NA    NA    "ath" NA    NA    NA    NA    NA    NA   
## [1993] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2005] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2017] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2029] NA    NA    NA    NA    NA    NA    NA    NA    NA    "ash" NA    NA   
## [2041] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2053] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2065] "ach" NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2077] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2089] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2101] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2113] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2125] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2137] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2149] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2161] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2173] NA    NA    NA    "ath" "ath" NA    NA    NA    NA    NA    NA    NA   
## [2185] NA    NA    NA    NA    NA    NA    NA    NA    "ash" NA    NA    NA   
## [2197] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2209] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2221] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2233] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2245] NA    NA    "ash" NA    NA    "ath" NA    NA    NA    NA    NA    NA   
## [2257] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2269] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2281] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2293] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2305] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2317] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2329] NA    NA    "ath" NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2341] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2353] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2365] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2377] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2389] NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA   
## [2401] NA    NA    "aah" NA

If you want to match the character “.”, you need to escape it. Basically, the escape is a backslash, but we also have to escape the character being used for the escape - so in order to search for a period, yu use the string “\.”.

str_detect(whoami, "\\.")
## [1] TRUE
str_detect(lesmis$lyric, "\\.")
##    [1]    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
##   [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [97] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [109] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
##  [121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [133] FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [145] FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE
##  [157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [169] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [181] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [193] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
##  [205] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [217] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [229] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [241] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [253] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [265] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [277] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
##  [289] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [301] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [325] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE
##  [337] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [349] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [361] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [373] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE
##  [385] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [397] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [409] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [421] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [433] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [445] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [457] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
##  [481] FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
##  [493] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [505] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [517] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [529] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [541] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [553] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [565] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [577] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
##  [589] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [601] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [613] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [625] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE
##  [637] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [649] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [661] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [673] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
##  [685] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [697] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [709] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [721] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [733] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [745] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [757] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [769] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [781] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [793] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [805] FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [817] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [829] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [841] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [853] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
##  [865] FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [877] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
##  [889] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [901] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [913] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [925] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [937] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [949] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [961]    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
##  [973] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
##  [985] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
##  [997] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1009] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1021] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1033] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1045] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1057] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1069] FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1081] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1093] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1117] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1129] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1141] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1153] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1165] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1177] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE    NA FALSE FALSE FALSE  TRUE
## [1189] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1201] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1213] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1225] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1237] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1249] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1273] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1285] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1297] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1309] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1321] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1333] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1345] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1357] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1369] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1381] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [1393] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1405] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1429] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [1441] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1453] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1465] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1477] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1489] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1501] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1513] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1525] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1537] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1549] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1561] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1573] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE    NA FALSE FALSE FALSE
## [1585] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1597] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [1609] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1621] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1633] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE
## [1645] FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1657] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE
## [1669] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1681] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1693] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1705] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE    NA FALSE FALSE
## [1717] FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE  TRUE
## [1729] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
## [1741] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1753] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
## [1765] FALSE    NA FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1777] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1789] FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [1801] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
## [1813] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE    NA
## [1825] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [1837] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1849] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
## [1861] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1873] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1885] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1897] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1909] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [1921] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1933] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1945] FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [1957] FALSE    NA  TRUE  TRUE    NA  TRUE FALSE    NA FALSE FALSE    NA FALSE
## [1969] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1981] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1993] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2005] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA    NA    NA FALSE FALSE
## [2017] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2029] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
## [2041] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
## [2053] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2065] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [2077] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2089] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [2101] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2113] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2125] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2137] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [2149]  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE  TRUE
## [2161]    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2173] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2185] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2197] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA    NA FALSE FALSE FALSE
## [2221] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
## [2233] FALSE FALSE FALSE  TRUE FALSE FALSE    NA FALSE FALSE FALSE FALSE    NA
## [2245] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2257] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA  TRUE FALSE FALSE
## [2269] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE    NA    NA FALSE FALSE FALSE
## [2281] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2293] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2305] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [2317] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
## [2329] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2341] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [2353] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [2365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE
## [2377] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2389] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2401] FALSE FALSE FALSE FALSE

The default for a regular expression is to match any part of the string. In some cases you may want to anchor the regular expression, so it matches relative to the start or end of the string. You can use ^ to match the start of the string, and $ to match the end of the string.

str_detect(whoami, "He")
## [1] TRUE
str_detect(whoami, "24601")
## [1] TRUE
str_detect(whoami, "^He")
## [1] TRUE
str_detect(whoami, "^24601")
## [1] FALSE
str_detect(whoami, "He$")
## [1] FALSE
str_detect(whoami, "24601$")
## [1] FALSE
head(str_extract(lesmis$lyric, regex("look", ignore_case = TRUE)), 30)
##  [1] NA     NA     NA     NA     NA     "Look" "look" "Look" NA     NA    
## [11] NA     "Look" NA     NA     NA     "Look" NA     NA     NA     "Look"
## [21] NA     NA     NA     "Look" "look" NA     NA     "Look" NA     "Look"
head(str_extract(lesmis$lyric, regex("^look", ignore_case = TRUE)), 30)
##  [1] NA     NA     NA     NA     NA     "Look" NA     "Look" NA     NA    
## [11] NA     "Look" NA     NA     NA     "Look" NA     NA     NA     "Look"
## [21] NA     NA     NA     "Look" NA     NA     NA     "Look" NA     "Look"
head(str_extract(lesmis$lyric, regex("down$", ignore_case = TRUE)), 30)
##  [1] NA     NA     NA     NA     NA     "down" NA     "down" NA     NA    
## [11] NA     "down" NA     NA     NA     "down" NA     NA     NA     "down"
## [21] NA     NA     NA     "down" NA     NA     NA     "down" NA     "down"

There are a number of patterns that match more than one character. You’ve already seen “.”, which matches any character except a newline. There are four other useful tools:

  • \d: matches any digit.
  • \s: matches any whitespace (e.g. space, tab, newline).

Note that the square brackets are called a character class - it is a list of characters enclosed within a set of square brackets, which matches any single character in the list. In addition to a set of letters, you can specify ranges, such as a-z, A-Z, 0-9, etc.

str_extract_all(whoami, "\\d")
## [[1]]
## [1] "2" "4" "6" "0" "1"
str_extract(whoami, "\\s")
## [1] " "
str_extract_all(whoami, "[aeiou]")
## [[1]]
##   [1] "e" "i" "a" "a" "i" "e" "e" "e" "i" "a" "a" "a" "e" "a" "a" "e" "e" "a"
##  [19] "o" "u" "i" "a" "o" "u" "e" "a" "e" "o" "u" "a" "e" "i" "i" "e" "o" "u"
##  [37] "i" "i" "o" "e" "a" "e" "o" "e" "o" "a" "u" "e" "o" "o" "o" "e" "a" "a"
##  [55] "o" "e" "e" "a" "i" "e" "a" "a" "e" "a" "e" "a" "e" "o" "u" "e" "o" "o"
##  [73] "e" "e" "a" "o" "o" "o" "e" "o" "a" "a" "a" "o" "e" "o" "o" "u" "e" "i"
##  [91] "e" "a" "o" "e" "e" "e" "a" "e" "a" "e" "o" "e" "e" "a" "i" "e" "a" "a"
## [109] "e" "o" "a" "a" "o" "e" "i" "a" "o" "a" "e" "e" "e" "o" "o" "e" "e" "i"
## [127] "a" "o" "i" "i" "o" "e" "o" "e" "a" "a" "e" "o" "o" "e" "o" "u" "e" "e"
## [145] "i" "a" "e" "o" "a" "a" "o" "e" "a" "e" "o" "e" "e" "o" "e" "e" "e" "o"
## [163] "e" "a" "a" "e" "o" "e" "u" "a" "e" "u" "i" "i" "e" "e" "o" "o" "e" "a"
## [181] "a" "a" "i" "i" "u" "i" "e" "o" "a" "e" "e" "a" "e" "e" "o" "e" "o" "a"
## [199] "e" "e" "a" "e" "e" "a" "a" "i" "o" "u" "e" "o" "o" "o" "o" "a" "e" "a"
## [217] "a" "a" "i" "o" "a" "o" "e" "a" "e" "e" "o" "e" "e" "o" "e" "a" "o" "e"
## [235] "e" "a" "e" "e" "e" "o" "o" "u" "e" "o" "o" "a" "o" "a" "a" "e" "a" "a"
## [253] "e" "a" "o" "a" "e" "o" "u" "e" "e" "i" "u" "e" "a" "a" "e" "a" "o" "o"
## [271] "e" "u" "i" "a" "o" "u" "o" "a"
str_extract_all(whoami, "[^aeiou]")
## [[1]]
##   [1] "H"  " "  "t"  "h"  "n"  "k"  "s"  " "  "t"  "h"  "t"  " "  "m"  "n"  " " 
##  [16] "s"  " "  "m"  "\n" "H"  " "  "k"  "n"  "w"  " "  "h"  "m"  " "  "t"  " " 
##  [31] " "  "g"  "l"  "n"  "c"  "!"  "\n" "T"  "h"  "t"  " "  "s"  "t"  "r"  "n" 
##  [46] "g"  "r"  " "  "h"  " "  "h"  "s"  " "  "f"  "n"  "d"  "\n" "T"  "h"  "s" 
##  [61] " "  "m"  "n"  " "  "c"  "l"  "d"  " "  "b"  " "  "m"  "y"  " "  "c"  "h" 
##  [76] "n"  "c"  "!"  "\n" "W"  "h"  "y"  " "  "s"  "h"  "l"  "d"  " "  "I"  " " 
##  [91] "s"  "v"  " "  "h"  "s"  " "  "h"  "d"  "?"  "\n" "W"  "h"  "y"  " "  "s" 
## [106] "h"  "l"  "d"  " "  "I"  " "  "r"  "g"  "h"  "t"  " "  "t"  "h"  "s"  " " 
## [121] "w"  "r"  "n"  "g"  "\n" "W"  "h"  "n"  " "  "I"  " "  "h"  "v"  " "  "c" 
## [136] "m"  " "  "s"  " "  "f"  "r"  "\n" "A"  "n"  "d"  " "  "s"  "t"  "r"  "g" 
## [151] "g"  "l"  "d"  " "  "f"  "r"  " "  "s"  " "  "l"  "n"  "g"  "?"  "\n" "I" 
## [166] "f"  " "  "I"  " "  "s"  "p"  "k"  ","  " "  "I"  " "  "m"  " "  "c"  "n" 
## [181] "d"  "m"  "n"  "d"  "."  "\n" "I"  "f"  " "  "I"  " "  "s"  "t"  "y"  " " 
## [196] "s"  "l"  "n"  "t"  ","  " "  "I"  " "  "m"  " "  "d"  "m"  "n"  "d"  "!" 
## [211] "\n" "\n" "I"  " "  "m"  " "  "t"  "h"  " "  "m"  "s"  "t"  "r"  " "  "f" 
## [226] " "  "h"  "n"  "d"  "r"  "d"  "s"  " "  "f"  " "  "w"  "r"  "k"  "r"  "s" 
## [241] "."  "\n" "T"  "h"  "y"  " "  "l"  "l"  " "  "l"  "k"  " "  "t"  " "  "m" 
## [256] "."  "\n" "H"  "w"  " "  "c"  "n"  " "  "I"  " "  "b"  "n"  "d"  "n"  " " 
## [271] "t"  "h"  "m"  "?"  "\n" "H"  "w"  " "  "w"  "l"  "d"  " "  "t"  "h"  "y" 
## [286] " "  "l"  "v"  "\n" "I"  "f"  " "  "I"  " "  "m"  " "  "n"  "t"  " "  "f" 
## [301] "r"  "?"  "\n" "I"  "f"  " "  "I"  " "  "s"  "p"  "k"  ","  " "  "t"  "h" 
## [316] "y"  " "  "r"  " "  "c"  "n"  "d"  "m"  "n"  "d"  "."  "\n" "I"  "f"  " " 
## [331] "I"  " "  "s"  "t"  "y"  " "  "s"  "l"  "n"  "t"  ","  " "  "I"  " "  "m" 
## [346] " "  "d"  "m"  "n"  "d"  "!"  "\n" "\n" "W"  "h"  " "  "m"  " "  "I"  "?" 
## [361] "\n" "C"  "n"  " "  "I"  " "  "c"  "n"  "d"  "m"  "n"  " "  "t"  "h"  "s" 
## [376] " "  "m"  "n"  " "  "t"  " "  "s"  "l"  "v"  "r"  "y"  "\n" "P"  "r"  "t" 
## [391] "n"  "d"  " "  "I"  " "  "d"  " "  "n"  "t"  " "  "f"  "l"  " "  "h"  "s" 
## [406] " "  "g"  "n"  "y"  "\n" "T"  "h"  "s"  " "  "n"  "n"  "c"  "n"  "t"  " " 
## [421] "w"  "h"  " "  "b"  "r"  "s"  " "  "m"  "y"  " "  "f"  "c"  "\n" "W"  "h" 
## [436] " "  "g"  "s"  " "  "t"  " "  "j"  "d"  "g"  "m"  "n"  "t"  " "  "n"  " " 
## [451] "m"  "y"  " "  "p"  "l"  "c"  "\n" "\n" "W"  "h"  " "  "m"  " "  "I"  "?" 
## [466] "\n" "C"  "n"  " "  "I"  " "  "c"  "n"  "c"  "l"  " "  "m"  "y"  "s"  "l" 
## [481] "f"  " "  "f"  "r"  " "  "v"  "r"  "m"  "r"  "?"  "\n" "P"  "r"  "t"  "n" 
## [496] "d"  " "  "I"  "'"  "m"  " "  "n"  "t"  " "  "t"  "h"  " "  "m"  "n"  " " 
## [511] "I"  " "  "w"  "s"  " "  "b"  "f"  "r"  "?"  "\n" "A"  "n"  "d"  " "  "m" 
## [526] "s"  "t"  " "  "m"  "y"  " "  "n"  "m"  " "  "n"  "t"  "l"  " "  "I"  " " 
## [541] "d"  "\n" "B"  " "  "n"  " "  "m"  "r"  " "  "t"  "h"  "n"  " "  "n"  " " 
## [556] "l"  "b"  "?"  "\n" "\n" "M"  "s"  "t"  " "  "I"  " "  "l"  "?"  "\n" "H" 
## [571] "w"  " "  "c"  "n"  " "  "I"  " "  "v"  "r"  " "  "f"  "c"  " "  "m"  "y" 
## [586] " "  "f"  "l"  "l"  "w"  " "  "m"  "n"  "?"  "\n" "H"  "w"  " "  "c"  "n" 
## [601] " "  "I"  " "  "v"  "r"  " "  "f"  "c"  " "  "m"  "y"  "s"  "l"  "f"  " " 
## [616] "g"  "n"  "?"  "\n" "M"  "y"  " "  "s"  "l"  " "  "b"  "l"  "n"  "g"  "s" 
## [631] " "  "t"  " "  "G"  "d"  ","  " "  "I"  " "  "k"  "n"  "w"  "\n" "I"  " " 
## [646] "m"  "d"  " "  "t"  "h"  "t"  " "  "b"  "r"  "g"  "n"  " "  "l"  "n"  "g" 
## [661] " "  "g"  "\n" "H"  " "  "g"  "v"  " "  "m"  " "  "h"  "p"  " "  "w"  "h" 
## [676] "n"  " "  "h"  "p"  " "  "w"  "s"  " "  "g"  "n"  "\n" "H"  " "  "g"  "v" 
## [691] " "  "m"  " "  "s"  "t"  "r"  "n"  "g"  "t"  "h"  " "  "t"  " "  "j"  "r" 
## [706] "n"  "y"  " "  "n"  "\n" "W"  "h"  " "  "m"  " "  "I"  "?"  " "  "W"  "h" 
## [721] " "  "m"  " "  "I"  "?"  "\n" "I"  " "  "m"  " "  "J"  "n"  " "  "V"  "l" 
## [736] "j"  "n"  "!"  "\n" "\n" "A"  "n"  "d"  " "  "s"  " "  "J"  "v"  "r"  "t" 
## [751] ","  " "  "y"  " "  "s"  " "  "t"  "'"  "s"  " "  "t"  "r"  "\n" "T"  "h" 
## [766] "t"  " "  "m"  "n"  " "  "b"  "r"  "s"  " "  "n"  " "  "m"  "r"  " "  "g" 
## [781] "l"  "t"  " "  "t"  "h"  "n"  " "  "y"  "!"  "\n" "W"  "h"  " "  "m"  " " 
## [796] "I"  "?"  "\n" "2"  "4"  "6"  "0"  "1"  "!"
str_extract_all(whoami, "[a-e]")
## [[1]]
##   [1] "e" "a" "a" "e" "e" "e" "a" "a" "a" "c" "e" "a" "a" "e" "e" "a" "d" "a"
##  [19] "c" "d" "b" "e" "c" "a" "c" "e" "d" "a" "e" "d" "e" "d" "e" "a" "e" "c"
##  [37] "e" "a" "d" "e" "d" "e" "a" "a" "c" "d" "e" "e" "d" "a" "e" "a" "d" "a"
##  [55] "e" "d" "a" "e" "a" "e" "d" "e" "d" "e" "e" "a" "e" "c" "a" "a" "b" "a"
##  [73] "d" "e" "d" "e" "e" "a" "e" "e" "e" "a" "e" "a" "e" "c" "d" "e" "e" "d"
##  [91] "a" "e" "a" "d" "a" "e" "d" "a" "a" "c" "d" "e" "a" "a" "e" "e" "e" "d"
## [109] "d" "e" "e" "a" "c" "e" "b" "e" "a" "a" "c" "e" "e" "d" "e" "e" "a" "c"
## [127] "e" "a" "a" "c" "c" "e" "a" "e" "e" "e" "e" "e" "e" "d" "e" "a" "a" "b"
## [145] "e" "e" "d" "a" "e" "d" "e" "e" "e" "a" "a" "a" "b" "e" "c" "a" "e" "e"
## [163] "a" "c" "e" "e" "e" "c" "a" "e" "e" "a" "c" "e" "e" "a" "a" "b" "e" "d"
## [181] "a" "d" "e" "a" "b" "a" "a" "a" "e" "a" "e" "e" "e" "e" "e" "a" "e" "e"
## [199] "a" "e" "e" "e" "e" "a" "a" "a" "e" "a" "a" "e" "a" "d" "a" "e" "e" "e"
## [217] "e" "a" "a" "b" "e" "a" "e" "a" "a"
str_extract_all(whoami, "[^a-z0-9]")
## [[1]]
##   [1] "H"  " "  " "  " "  " "  " "  "\n" "H"  " "  " "  " "  " "  " "  "!"  "\n"
##  [16] "T"  " "  " "  " "  " "  "\n" "T"  " "  " "  " "  " "  " "  "!"  "\n" "W" 
##  [31] " "  " "  "I"  " "  " "  " "  "?"  "\n" "W"  " "  " "  "I"  " "  " "  " " 
##  [46] "\n" "W"  " "  "I"  " "  " "  " "  " "  "\n" "A"  " "  " "  " "  " "  "?" 
##  [61] "\n" "I"  " "  "I"  " "  ","  " "  "I"  " "  " "  "."  "\n" "I"  " "  "I" 
##  [76] " "  " "  ","  " "  "I"  " "  " "  "!"  "\n" "\n" "I"  " "  " "  " "  " " 
##  [91] " "  " "  " "  "."  "\n" "T"  " "  " "  " "  " "  "."  "\n" "H"  " "  " " 
## [106] "I"  " "  " "  "?"  "\n" "H"  " "  " "  " "  "\n" "I"  " "  "I"  " "  " " 
## [121] " "  "?"  "\n" "I"  " "  "I"  " "  ","  " "  " "  " "  "."  "\n" "I"  " " 
## [136] "I"  " "  " "  ","  " "  "I"  " "  " "  "!"  "\n" "\n" "W"  " "  " "  "I" 
## [151] "?"  "\n" "C"  " "  "I"  " "  " "  " "  " "  " "  "\n" "P"  " "  "I"  " " 
## [166] " "  " "  " "  " "  "\n" "T"  " "  " "  " "  " "  " "  "\n" "W"  " "  " " 
## [181] " "  " "  " "  " "  "\n" "\n" "W"  " "  " "  "I"  "?"  "\n" "C"  " "  "I" 
## [196] " "  " "  " "  " "  "?"  "\n" "P"  " "  "I"  "'"  " "  " "  " "  " "  "I" 
## [211] " "  " "  "?"  "\n" "A"  " "  " "  " "  " "  " "  "I"  " "  "\n" "B"  " " 
## [226] " "  " "  " "  " "  "?"  "\n" "\n" "M"  " "  "I"  " "  "?"  "\n" "H"  " " 
## [241] " "  "I"  " "  " "  " "  " "  " "  "?"  "\n" "H"  " "  " "  "I"  " "  " " 
## [256] " "  " "  "?"  "\n" "M"  " "  " "  " "  " "  "G"  ","  " "  "I"  " "  "\n"
## [271] "I"  " "  " "  " "  " "  " "  "\n" "H"  " "  " "  " "  " "  " "  " "  " " 
## [286] "\n" "H"  " "  " "  " "  " "  " "  " "  "\n" "W"  " "  " "  "I"  "?"  " " 
## [301] "W"  " "  " "  "I"  "?"  "\n" "I"  " "  " "  "J"  " "  "V"  "!"  "\n" "\n"
## [316] "A"  " "  " "  "J"  ","  " "  " "  " "  "'"  " "  "\n" "T"  " "  " "  " " 
## [331] " "  " "  " "  " "  "!"  "\n" "W"  " "  " "  "I"  "?"  "\n" "!"
str_extract(lesmis$lyric, "\\d")
##    [1] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##   [19] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  "2" NA  NA  NA  NA 
##   [37] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  "2" NA  NA  NA  "2"
##   [55] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##   [73] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##   [91] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [109] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [127] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [145] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [163] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [181] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [199] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [217] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [235] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [253] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [271] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [289] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [307] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [325] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [343] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [361] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [379] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [397] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [415] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [433] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [451] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [469] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [487] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [505] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [523] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [541] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  "2" NA  NA  NA  NA  NA  NA 
##  [559] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [577] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [595] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  "2" NA  NA  NA  NA  NA 
##  [613] "2" NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [631] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [649] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [667] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [685] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [703] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [721] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [739] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [757] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [775] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [793] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [811] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [829] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [847] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [865] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [883] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [901] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [919] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [937] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [955] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [973] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
##  [991] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1009] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1027] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1045] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1063] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1081] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1099] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1117] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1135] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1153] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1171] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1189] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1207] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1225] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1243] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1261] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1279] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1297] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1315] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1333] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1351] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1369] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1387] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1405] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1423] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1441] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1459] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1477] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1495] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1513] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1531] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1549] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1567] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1585] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1603] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1621] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1639] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1657] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1675] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1693] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1711] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1729] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1747] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1765] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1783] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1801] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1819] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1837] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1855] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1873] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1891] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1909] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1927] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1945] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1963] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1981] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [1999] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2017] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  "2" NA 
## [2035] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2053] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2071] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2089] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2107] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2125] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2143] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2161] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2179] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2197] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2215] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2233] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2251] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2269] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2287] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2305] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2323] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2341] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2359] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2377] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
## [2395] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
str_extract(lesmis$lyric, "\\s")
##    [1] NA  " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##   [19] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##   [37] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##   [55] " " " " " " " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " "
##   [73] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##   [91] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [109] " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " " " " " "
##  [127] " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " " " " " " " "
##  [145] " " " " " " " " " " " " NA  " " " " " " " " " " " " " " " " " " " " " "
##  [163] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [181] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " NA 
##  [199] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [217] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [235] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [253] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [271] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [289] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [307] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [325] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [343] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [361] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [379] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [397] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [415] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [433] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [451] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [469] " " " " " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " "
##  [487] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [505] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [523] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [541] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [559] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [577] " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " " " " " "
##  [595] " " " " " " " " " " " " " " " " " " " " " " NA  NA  " " " " " " " " " "
##  [613] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [631] " " NA  " " " " " " " " " " " " NA  " " " " " " " " " " " " " " " " " "
##  [649] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [667] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " NA  " " " "
##  [685] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [703] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [721] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [739] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [757] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [775] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [793] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " NA  " " " "
##  [811] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [829] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [847] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " NA  " " " "
##  [865] " " " " " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [883] " " " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [901] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [919] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [937] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
##  [955] " " " " " " " " " " " " NA  " " " " " " " " " " " " " " NA  " " " " " "
##  [973] " " " " " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " " NA 
##  [991] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1009] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1027] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1045] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1063] " " " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " " " "
## [1081] " " " " " " " " NA  " " " " " " " " " " " " " " " " " " NA  " " " " " "
## [1099] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1117] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1135] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1153] " " " " " " " " NA  " " NA  " " NA  " " NA  " " " " " " " " " " " " " "
## [1171] " " " " " " " " " " " " " " " " " " " " " " " " " " NA  NA  " " " " " "
## [1189] " " " " " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1207] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1225] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1243] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1261] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1279] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1297] " " " " " " " " " " " " " " " " " " " " " " " " " " " " NA  " " " " " "
## [1315] " " " " " " NA  " " " " " " " " " " " " " " " " " " NA  " " " " " " " "
## [1333] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1351] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1369] " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1387] " " " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1405] " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1423] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " NA  " " " "
## [1441] " " " " NA  " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " "
## [1459] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1477] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1495] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1513] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1531] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1549] " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1567] " " " " " " " " " " " " " " " " " " " " " " " " " " " " NA  " " " " " "
## [1585] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1603] " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1621] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1639] " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " " " " " " NA 
## [1657] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1675] " " " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " " " "
## [1693] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1711] " " NA  " " NA  " " " " " " " " " " " " " " " " NA  " " " " " " " " " "
## [1729] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1747] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1765] " " NA  NA  NA  " " " " " " " " " " " " " " NA  " " " " " " " " " " " "
## [1783] " " " " " " " " " " " " " " NA  " " " " " " " " " " NA  NA  NA  " " " "
## [1801] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1819] " " " " " " " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " "
## [1837] " " " " " " " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " "
## [1855] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1873] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1891] " " " " " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " "
## [1909] " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " " " " " "
## [1927] " " " " " " " " NA  NA  " " " " " " " " " " " " " " " " " " " " " " " "
## [1945] " " " " " " " " NA  " " " " " " NA  " " " " " " " " NA  " " " " NA  " "
## [1963] " " NA  " " " " NA  " " " " " " " " " " " " " " " " " " " " " " NA  " "
## [1981] " " " " " " " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " "
## [1999] " " " " " " " " " " " " " " " " " " " " " " " " " " NA  NA  NA  " " " "
## [2017] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " NA 
## [2035] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2053] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2071] " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2089] " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " " " " " "
## [2107] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2125] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2143] " " " " " " NA  " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2161] NA  " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2179] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2197] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2215] " " NA  NA  " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " "
## [2233] " " " " " " " " " " " " NA  " " " " " " " " NA  " " " " " " " " " " " "
## [2251] " " " " " " " " " " " " " " " " " " " " " " " " " " " " NA  " " " " " "
## [2269] " " " " " " " " " " " " " " NA  NA  " " " " " " " " " " " " " " " " " "
## [2287] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2305] " " " " " " " " " " " " " " " " " " NA  " " " " " " " " " " " " " " NA 
## [2323] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2341] " " " " " " " " " " " " " " " " " " " " " " " " " " " " NA  " " " " " "
## [2359] " " " " " " " " " " NA  " " " " " " " " " " " " " " NA  " " " " " " " "
## [2377] " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
## [2395] " " " " " " " " " " " " " " " " " " " "
str_extract(lesmis$lyric, "[aeiou]")
##    [1] NA  "a" "a" "a" "a" "o" "o" "o" "o" "e" "o" "o" "e" "e" "e" "o" "e" "o"
##   [19] "o" "o" "e" "e" "e" "o" "o" "o" "e" "o" "o" "o" "o" "o" "o" "o" "o" "e"
##   [37] "o" "o" "o" "o" "o" "i" "e" "o" "e" "o" "a" "i" "e" "e" "a" "a" "o" "o"
##   [55] "o" "o" "o" "o" "a" NA  "e" "e" "e" "e" "e" "e" "i" "o" "e" "o" "o" "e"
##   [73] "e" "o" "a" "i" "o" "a" "o" "e" "o" "a" "i" "o" "o" "e" "o" "o" "o" "o"
##   [91] "o" "e" "e" "e" "e" "o" "e" "i" "e" "i" "a" "o" "o" "o" "e" "e" "a" "o"
##  [109] "e" "i" "i" "a" "i" "i" "a" "e" NA  "o" "e" "o" "a" "e" "e" "e" "e" "e"
##  [127] "i" "a" "e" "e" "a" "u" "o" NA  "e" "e" "o" "o" "e" "e" "o" "a" "u" "u"
##  [145] "o" "o" "o" "o" "o" "o" NA  "u" "e" "o" "o" "e" "e" "a" "a" "e" "a" "a"
##  [163] "e" "e" "e" "i" "i" "e" "e" "u" "e" "o" "e" "e" "i" "a" "o" "i" "a" "u"
##  [181] "i" "i" "e" "e" "e" "e" "o" "a" "e" "a" "e" "a" "o" "e" "o" "e" "o" NA 
##  [199] "e" "a" "a" "e" "e" "e" "e" "e" "e" "e" "e" "e" "e" "e" "i" "i" "e" "e"
##  [217] "e" "e" "e" "i" "e" "e" "o" "i" "e" "a" "i" "e" "a" "e" "i" "a" "e" "e"
##  [235] "i" "o" "e" "o" "o" "o" "e" "a" "i" "a" "i" "o" "u" "a" "o" "e" "o" "e"
##  [253] "e" "e" "o" "o" "e" "e" "e" "o" "a" "a" "e" "e" "i" "e" "o" "e" "i" "e"
##  [271] "i" "i" "i" "e" "o" "o" "a" "o" "u" "e" "i" "e" "o" "a" "i" "e" "e" "e"
##  [289] "e" "e" "e" "e" "e" "e" "e" "e" "e" "e" "e" "e" "o" "u" "i" "e" "e" "e"
##  [307] "e" "e" "u" "i" "a" "u" "e" "a" "o" "o" "o" "e" "i" "o" "e" "e" "o" "a"
##  [325] "o" "a" "a" "o" "i" "a" "i" "a" "i" "u" "a" "a" "e" "o" "e" "o" "e" "o"
##  [343] "o" "u" "a" "a" "a" "o" "e" "u" "a" "u" "a" "e" "o" "i" "i" "e" "i" "o"
##  [361] "o" "o" "o" "i" "o" "a" "a" "a" "e" "a" "o" "e" "i" "o" "o" "o" "o" "a"
##  [379] "u" "o" "e" "o" "e" "o" "i" "o" "o" "o" "e" "e" "o" "o" "o" "i" "e" "o"
##  [397] "i" "i" "u" "o" "o" "e" "o" "a" "e" "o" "e" "e" "i" "e" "o" "a" "a" "a"
##  [415] "e" "o" "e" "e" "o" "a" "e" "e" "o" "o" "a" "e" "e" "a" "o" "a" "o" "o"
##  [433] "u" "o" "e" "u" "a" "e" "i" "e" "o" "o" "u" "o" "a" "o" "e" "e" "a" "e"
##  [451] "e" "i" "o" "a" "i" "i" "u" "i" "u" "i" "o" "o" "o" "o" "o" "o" "e" "e"
##  [469] "e" "a" "e" "e" "e" "o" "o" "e" "e" "i" NA  "i" "o" "a" "a" "e" "o" "e"
##  [487] "o" "a" "a" "o" "e" "e" "u" "e" "e" "e" "e" "o" "u" "o" "o" "i" "e" "o"
##  [505] "a" "o" "o" "a" "a" "a" "o" "e" "e" "i" "e" "e" "a" "i" "o" "o" "e" "u"
##  [523] "e" "a" "a" "e" "a" "a" "e" "a" "o" "a" "e" "i" "o" "o" "a" "e" "u" "e"
##  [541] "u" "o" "o" "o" "a" "e" "e" "o" "e" "o" "a" "o" "o" "o" "o" "o" "o" "o"
##  [559] "o" "o" "u" "o" "e" "u" "a" "u" "o" "e" "o" "a" "a" "o" "o" "o" "o" "a"
##  [577] "e" "a" "i" "e" "a" "o" "e" "e" NA  "a" "e" "e" "i" "i" "e" "e" "e" "e"
##  [595] "o" "e" "e" "a" "e" "a" "e" "o" "i" "e" "e" "o" NA  "o" "o" "u" "u" "o"
##  [613] "o" "o" "e" "a" "a" "e" "a" "a" "e" "e" "e" "a" "e" "a" "o" "o" "a" "a"
##  [631] "a" NA  "i" "o" "i" "e" "e" "e" NA  "e" "i" "e" "o" "e" "e" "o" "o" "e"
##  [649] "o" "e" "e" "o" "i" "o" "e" "o" "u" "i" "a" "o" "e" "e" "e" "e" "a" "o"
##  [667] "o" "e" "o" "i" "o" "o" "e" "e" "a" "i" "o" "e" "o" "o" "o" NA  "o" "e"
##  [685] "a" "e" "u" "o" "i" "a" "i" "i" "o" "o" "i" "e" "e" "o" "e" "u" "a" "i"
##  [703] "e" "o" "a" "e" "i" "a" "o" "e" "o" "e" "e" "i" "a" "u" "o" "a" "u" "a"
##  [721] "e" "e" "e" "u" "o" "e" "e" "o" "o" "e" "o" "e" "o" "a" "e" "e" "u" "a"
##  [739] "u" "a" "e" "a" "i" "e" "e" "o" "e" "a" "e" "e" "o" "e" "e" "u" "e" "e"
##  [757] "a" "i" "u" "e" "e" "o" "i" "o" "i" "i" "i" "e" "e" "a" "o" "e" "e" "e"
##  [775] "e" "o" "o" "e" "a" "e" "e" "o" "e" "i" "i" "e" "u" "u" "a" "o" "u" "i"
##  [793] "a" "a" "o" "i" "a" "a" "o" "o" "e" "o" "e" "e" "e" "a" "e" NA  "o" "i"
##  [811] "a" "i" "i" "o" "e" "e" "o" "i" "o" "a" "e" "a" "o" "o" "a" "o" "e" "o"
##  [829] "a" "a" "a" "a" "a" "e" "o" "e" "e" "a" "a" "e" "i" "o" "i" "e" "o" "a"
##  [847] "e" "i" "e" "o" "o" "e" "e" "o" "o" "o" "i" "o" "e" "a" "o" NA  "o" "o"
##  [865] "e" "i" "e" "e" NA  "o" "o" "o" "o" "o" "e" "o" "o" "i" "e" "e" "o" "i"
##  [883] "o" "o" "o" NA  "a" "a" "o" "o" "i" "a" "e" "o" "o" "i" "e" "i" "e" "o"
##  [901] "e" "i" "e" "e" "o" "o" "o" "o" "e" "e" "o" "e" "e" "e" "o" "o" "e" "i"
##  [919] "a" "o" "i" "o" "e" "e" "a" "o" "e" "i" "e" "e" "a" "a" "o" "o" "o" "o"
##  [937] "o" "o" "e" "u" "i" "o" "o" "e" "e" "u" "e" "e" "a" "e" "i" "e" "o" "o"
##  [955] "o" "o" "o" "i" "i" "i" NA  "e" "a" "a" "u" "o" "o" "o" NA  "o" "e" "i"
##  [973] "e" "i" "e" "e" "a" "o" "a" "i" "e" "o" NA  "a" "o" "o" "a" "e" "u" NA 
##  [991] "o" "o" "a" "e" "i" "u" "e" "o" "a" "i" "o" "o" "o" "o" "e" "u" "o" "o"
## [1009] "e" "o" "a" "o" "a" "e" "a" "e" "e" "o" "o" "e" "e" "e" "a" "e" "i" "e"
## [1027] "e" "e" "u" "a" "o" "e" "i" "i" "e" "u" "o" "a" "i" "e" "a" "a" "i" "o"
## [1045] "i" "e" "e" "o" "o" "e" "i" "i" "o" "o" "o" "e" "a" "u" "o" "a" "a" "i"
## [1063] "i" "i" "a" "u" "e" "e" "u" "o" "o" NA  "o" "o" "e" "o" "o" "a" "a" "u"
## [1081] "o" "o" "o" "a" "i" "o" "u" "i" "o" "o" "i" "u" "o" "o" NA  "o" "e" "o"
## [1099] "e" "u" "e" "u" "e" "i" "a" "e" "o" "e" "o" "o" "i" "i" "u" "e" "o" "o"
## [1117] "o" "a" "a" "o" "o" "o" "e" "e" "a" "a" "a" "a" "u" "e" "i" "o" "o" "o"
## [1135] "a" "a" "i" "o" "e" "a" "e" "a" "e" "a" "a" "o" "o" "a" "a" "o" "o" "u"
## [1153] "a" "e" "a" "e" "e" "e" "a" "o" "e" "e" "a" "e" "a" "o" "u" "o" "e" "u"
## [1171] "e" "a" "e" "a" "e" "e" "a" "o" "i" "e" "o" "o" "e" NA  "i" "e" "i" "o"
## [1189] "i" "e" "e" "a" "a" "i" "e" "i" "i" "a" "e" "e" "e" "e" "e" "u" "e" "e"
## [1207] "o" "i" "i" "o" "o" "e" "e" "i" "o" "e" "e" "e" "e" "o" "i" "i" "o" "e"
## [1225] "o" "e" "e" "i" "o" "o" "i" "e" "e" "o" "i" "i" "o" "e" "o" "e" "e" "o"
## [1243] "i" "i" "a" "a" "a" "o" "o" "i" "e" "a" "i" "e" "e" "i" "a" "u" "u" "a"
## [1261] "o" "o" "o" "i" "o" "o" "i" "i" "e" "o" "o" "o" "e" "e" "i" "o" "a" "i"
## [1279] "e" "a" "o" "e" "e" "o" "e" "o" "e" "e" "i" "a" "o" "u" "e" "o" "o" "o"
## [1297] "o" "a" "e" "a" "e" "i" "o" "e" "e" "e" "o" "u" "o" "o" NA  "i" "e" "e"
## [1315] "i" "e" "o" "o" "o" "a" "e" "a" "a" "e" "a" "i" "e" "e" "e" "e" "e" "i"
## [1333] "e" "a" "a" "e" "e" "o" "o" "o" "e" "o" "i" "e" "o" "a" "i" "o" "e" "a"
## [1351] "a" "e" "i" "o" "o" "i" "o" "a" "e" "e" "e" "e" "i" "e" "o" "o" "o" "e"
## [1369] "o" "e" NA  "i" "o" "e" "a" "o" "i" "i" "o" "o" "o" "e" "o" "e" "e" "e"
## [1387] "a" "e" "e" NA  "i" "e" "e" "e" "e" "e" "e" "e" "i" "i" "a" "o" "i" "i"
## [1405] "o" "i" NA  "a" "o" "o" "o" "e" "o" "o" "e" "o" "e" "u" "e" "o" "o" "a"
## [1423] "o" "e" "a" "o" "o" "o" "o" "e" "a" "a" "o" "i" "o" "e" "o" NA  "o" "a"
## [1441] "e" "a" NA  "a" "e" "e" "o" "o" "e" "o" NA  "o" "e" "e" "a" "a" "e" "o"
## [1459] "a" "e" "e" "i" "e" "u" "e" "e" "e" "e" "e" "o" "e" "u" "o" "u" "i" "e"
## [1477] "o" "i" "e" "i" "e" "i" "o" "e" "o" "e" "e" "i" "e" "a" "a" "e" "u" "e"
## [1495] "e" "e" "i" "o" "a" "o" "e" "e" "e" "e" "e" "e" "e" "e" "a" "a" "e" "e"
## [1513] "e" "e" "o" "o" "e" "a" "e" "e" "e" "e" "o" "a" "i" "e" "i" "o" "e" "e"
## [1531] "i" "i" "i" "i" "e" "a" "a" "e" "e" "e" "e" "e" "o" "o" "o" "o" "a" "e"
## [1549] "e" "e" NA  "e" "e" "a" "a" "a" "o" "o" "e" "e" "o" "o" "o" "o" "e" "e"
## [1567] "e" "o" "o" "i" "e" "e" "o" "a" "e" "o" "e" "a" "i" "i" NA  "a" "a" "o"
## [1585] "e" "i" "e" "o" "a" "e" "e" "o" "e" "e" "o" "a" "e" "o" "e" "o" "i" "a"
## [1603] "o" "a" NA  "o" "o" "i" "i" "o" "o" "o" "e" "i" "i" "e" "a" "o" "a" "i"
## [1621] "e" "e" "e" "e" "e" "a" "o" "o" "a" "a" "i" "o" "e" "i" "e" "e" "o" "i"
## [1639] "i" "o" "a" "o" "o" "o" "u" NA  "o" "e" "a" "e" "i" "i" "e" "e" "e" NA 
## [1657] "o" "o" "o" "o" "i" "a" "e" "a" "e" "i" "a" "a" "i" "e" "o" "e" "o" "a"
## [1675] "e" "e" "e" "a" "e" "e" "e" "o" "i" "i" "o" "o" "o" "i" "i" "e" "o" "e"
## [1693] "o" "a" "o" "i" "e" "a" "e" "o" "e" "o" "e" "e" "e" "o" "e" "a" "i" "a"
## [1711] "e" NA  "e" NA  "o" "o" "a" "a" "o" "e" "e" "o" NA  "o" "e" "o" "o" "o"
## [1729] "i" "o" "o" "o" "a" "u" "o" "u" "e" "o" "o" "e" "i" "o" "o" "e" "e" "e"
## [1747] "e" "e" "u" "o" "i" "a" "o" "o" "i" "a" "e" "a" "o" "o" "a" "a" "i" "a"
## [1765] "i" NA  "o" NA  "e" "e" "e" "e" "e" "e" "e" NA  "e" "a" "o" "o" "o" "a"
## [1783] "o" "e" "o" "o" "o" "e" "e" NA  "a" "u" "o" "a" "o" NA  "i" NA  "e" "o"
## [1801] "e" "a" "o" "o" "i" "e" "i" "e" "i" "i" "e" "e" "e" "o" "e" "e" "o" "o"
## [1819] "e" "e" "o" "a" "o" NA  "o" "o" "o" "e" "a" "a" "e" "e" "a" "o" "e" "o"
## [1837] "o" "o" "o" "a" "o" "o" "e" "o" "o" "u" "o" NA  "o" "e" "e" "e" "o" "e"
## [1855] "e" "a" "i" "i" "e" "e" "e" "i" "a" "i" "e" "o" "e" "o" "i" "o" "o" "o"
## [1873] "a" "o" "i" "o" "o" "o" "a" "o" "e" "e" "e" "e" "o" "e" "e" "o" "o" "o"
## [1891] "i" "o" "i" "o" NA  "o" "e" "e" "e" "i" "i" "i" "e" "o" "e" "o" "a" "i"
## [1909] "e" "o" "e" "i" "e" "i" "i" "i" NA  "e" "e" "e" "e" "e" "e" "i" "i" "e"
## [1927] "a" "e" "e" "i" NA  "i" "o" "a" "e" "u" "e" "e" "u" "o" "o" "o" "e" "o"
## [1945] "e" "a" "o" "o" NA  "o" "o" "o" NA  "i" "i" "a" "u" NA  "o" "e" NA  "e"
## [1963] "e" NA  "o" "e" NA  "o" "e" "o" "o" "e" "a" "a" "a" "e" "i" "e" NA  "e"
## [1981] "a" "o" "o" "i" "e" "e" "o" "e" "o" "o" "a" NA  "e" "o" "a" "a" "e" "i"
## [1999] "e" "u" "e" "e" "o" "e" "a" "e" "o" "a" "a" "o" "e" NA  NA  NA  "o" "e"
## [2017] "i" "e" "a" "o" "o" "e" "a" "e" "a" "o" "o" "e" "i" "e" "a" "e" "i" NA 
## [2035] "o" "o" "a" "i" "i" "e" "a" "a" "i" "e" "i" "o" "i" "e" "o" "a" "a" "e"
## [2053] "o" "a" "a" "a" "u" "o" "e" "e" "e" "o" "a" "i" "a" "e" "a" "a" "e" "o"
## [2071] "e" "e" NA  "i" "i" "i" "o" "i" "o" "o" "o" "a" "e" "e" "i" "a" "e" "o"
## [2089] "o" "e" "a" "a" "u" "o" "u" "o" NA  "e" "e" "a" "o" "e" "e" "e" "o" "o"
## [2107] "e" "e" "a" "e" "e" "e" "i" "a" "e" "e" "a" "a" "a" "e" "i" "a" "a" "e"
## [2125] "e" "o" "e" "e" "o" "o" "o" "i" "i" "e" "e" "e" "e" "e" "i" "e" "u" "o"
## [2143] "o" "e" "a" NA  "e" "o" "a" "e" "e" "e" "o" "a" "o" "a" "o" "o" "e" "e"
## [2161] NA  "i" "o" "e" "e" "i" "i" "o" "a" "a" "o" "o" "o" "u" "o" "a" "a" "o"
## [2179] "e" "o" "u" "e" "a" "a" "e" "e" "e" "e" "e" "e" "e" "o" "e" "e" "e" "o"
## [2197] "o" "e" "e" "o" "o" "o" "o" "a" "o" "a" "e" "a" "o" "e" "i" "o" "i" "a"
## [2215] "o" NA  NA  "i" "a" "u" "u" "o" "o" "i" "e" NA  "e" "o" "a" "e" "o" "o"
## [2233] "e" "o" "o" "e" "o" "e" NA  "e" "e" "u" "a" NA  "o" "i" "o" "o" "e" "o"
## [2251] "e" "o" "e" "a" "a" "i" "u" "o" "u" "e" "a" "a" "a" "e" NA  "o" "i" "e"
## [2269] "a" "e" "e" "o" "o" "o" "i" NA  NA  "i" "o" "e" "i" "a" "e" "i" "e" "i"
## [2287] "e" "o" "i" "a" "u" "e" "e" "a" "e" "e" "o" "e" "e" "o" "o" "e" "a" "o"
## [2305] "o" "a" "o" "o" "a" "e" "a" "i" "i" NA  "o" "o" "o" "a" "e" "e" "o" NA 
## [2323] "a" "e" "o" "a" "o" "o" "a" "a" "o" "e" "e" "a" "o" "o" "a" "o" "o" "o"
## [2341] "a" "o" "o" "e" "o" "o" "i" "i" "e" "e" "e" "o" "o" "a" NA  "o" "e" "o"
## [2359] "a" "o" "o" "o" "a" NA  "a" "e" "a" "o" "e" "e" "o" NA  "o" "o" "i" "o"
## [2377] "o" "e" "e" "e" "e" "e" "e" "e" "e" "a" "o" "o" "o" "e" "o" "a" "i" "e"
## [2395] "o" "o" "o" "e" "o" "a" "i" "e" "a" "o"
str_extract(lesmis$lyric, "[^aeiou]")
##    [1] NA   "A"  "A"  "A"  "A"  "L"  "D"  "L"  "Y"  "T"  "I"  "L"  "T"  "I" 
##   [15] "S"  "L"  "S"  "I"  "I"  "L"  "T"  "W"  "H"  "L"  "D"  "H"  "B"  "L" 
##   [29] "Y"  "L"  "Y"  "N"  "Y"  "A"  "Y"  "Y"  "N"  "Y"  "I"  "Y"  "I"  "M" 
##   [43] "A"  "Y"  "U"  "I"  "A"  "F"  "T"  "Y"  "M"  "A"  "D"  "D"  "L"  "Y" 
##   [57] "L"  "Y"  "A"  NA   "F"  "T"  "I"  "I"  "A"  "T"  "D"  "H"  "N"  "N" 
##   [71] "F"  "T"  "T"  "A"  "W"  "W"  "Y"  "I"  "C"  "A"  "Y"  "W"  "T"  "W" 
##   [85] "Y"  "I"  "W"  "A"  "N"  "A"  "F"  "T"  "A"  "I"  "\"" "M"  "A"  "I" 
##   [99] "A"  "I"  "I"  "Y"  "I"  "Y"  "O"  "W"  "T"  "A"  "T"  "I"  "T"  "T" 
##  [113] "I"  "L"  "I"  "T"  NA   "C"  "A"  "T"  "W"  "T"  "T"  "T"  "R"  "H" 
##  [127] "T"  "I"  "A"  "T"  "I"  "B"  "T"  NA   "T"  "L"  "Y"  "Y"  "A"  "W" 
##  [141] "Y"  "T"  "B"  "S"  "Y"  "W"  "S"  "F"  "I"  "A"  NA   "B"  "S"  "Y" 
##  [155] "T"  "B"  "B"  "I"  "W"  "B"  "H"  "T"  "T"  "H"  "I"  "I"  "M"  "T" 
##  [169] "W"  "J"  "Y"  "T"  "H"  "H"  "M"  "C"  "F"  "T"  "T"  "T"  "T"  "T" 
##  [183] "B"  "I"  "I"  "H"  "H"  "W"  "I"  "I"  "A"  "A"  "T"  "I"  "F"  "J" 
##  [197] "A"  NA   "A"  "A"  "I"  "A"  "O"  "O"  "A"  "A"  "A"  "T"  "A"  "O" 
##  [211] "A"  "A"  "L"  "L"  "T"  "T"  "A"  "A"  "A"  "S"  "T"  "A"  "A"  "A" 
##  [225] "A"  "H"  "W"  "I"  "T"  "A"  "W"  "P"  "K"  "K"  "O"  "Y"  "A"  "N" 
##  [239] "C"  "Y"  "T"  "W"  "W"  "W"  "T"  "N"  "I"  "I"  "I"  "A"  "N"  "A" 
##  [253] "T"  "T"  "Y"  "Y"  "A"  "Y"  "A"  "N"  "A"  "W"  "A"  "A"  "W"  "S" 
##  [267] "Y"  "O"  "A"  "A"  "I"  "I"  "I"  "A"  "W"  "Y"  "O"  "Y"  "B"  "S" 
##  [281] "W"  "S"  "Y"  "S"  "R"  "T"  "W"  "A"  "T"  "A"  "A"  "T"  "T"  "I" 
##  [295] "W"  "I"  "I"  "T"  "A"  "T"  "N"  "B"  "W"  "A"  "A"  "H"  "H"  "H" 
##  [309] "B"  "A"  "T"  "B"  "A"  "I"  "S"  "S"  "N"  "I"  "T"  "L"  "S"  "E" 
##  [323] "L"  "W"  "L"  "S"  "B"  "C"  "T"  "M"  "I"  "T"  "I"  "I"  "I"  "T" 
##  [337] "P"  "N"  "M"  "L"  "R"  "L"  "C"  "Q"  "W"  "W"  "I"  "D"  "L"  "J" 
##  [351] "I"  "J"  "W"  "T"  "L"  "G"  "A"  "S"  "I"  "L"  "L"  "C"  "Y"  "L" 
##  [365] "J"  "—"  "T"  "T"  "O"  "H"  "P"  "S"  "A"  "L"  "G"  "C"  "D"  "E" 
##  [379] "J"  "D"  "H"  "C"  "T"  "I"  "I"  "N"  "Y"  "Y"  "I"  "T"  "I"  "N" 
##  [393] "O"  "I"  "E"  "W"  "B"  "T"  "I"  "F"  "F"  "I"  "I"  "M"  "T"  "W" 
##  [407] "L"  "L"  "I"  "L"  "W"  "W"  "J"  "I"  "W"  "Y"  "S"  "W"  "Y"  "T" 
##  [421] "T"  "P"  "H"  "I"  "I"  "E"  "L"  "S"  "H"  "T"  "A"  "I"  "B"  "Y" 
##  [435] "S"  "B"  "C"  "W"  "T"  "I"  "S"  "H"  "I"  "M"  "I"  "Y"  "Y"  "I" 
##  [449] "M"  "I"  "H"  "I"  "T"  "H"  "I"  "I"  "B"  "I"  "B"  "I"  "L"  "L" 
##  [463] "L"  "I"  "D"  "D"  "A"  "H"  "O"  "S"  "T"  "T"  "I"  "W"  "D"  "T" 
##  [477] "T"  "I"  NA   "M"  "Y"  "C"  "A"  "A"  "F"  "H"  "F"  "S"  "I"  "W" 
##  [491] "H"  "H"  "B"  "W"  "A"  "A"  "W"  "Y"  "B"  "N"  "Y"  "A"  "O"  "Y" 
##  [505] "A"  "T"  "C"  "T"  "I"  "T"  "A"  "T"  "H"  "T"  "H"  "H"  "T"  "T" 
##  [519] "W"  "W"  "W"  "A"  "I"  "I"  "I"  "T"  "C"  "I"  "I"  "I"  "W"  "C" 
##  [533] "P"  "T"  "W"  "W"  "C"  "P"  "A"  "B"  "M"  "H"  "H"  "M"  "I"  "H" 
##  [547] "H"  "W"  "I"  "A"  "T"  "W"  "C"  "C"  "Y"  "A"  "C"  "D"  "C"  "H" 
##  [561] "H"  "D"  "T"  "B"  "O"  "B"  "L"  "B"  "M"  "S"  "T"  "Y"  "G"  "A" 
##  [575] "A"  "T"  "T"  "T"  "I"  "T"  "T"  "F"  "A"  "A"  NA   "V"  "B"  "B" 
##  [589] "L"  "T"  "T"  "I"  "T"  "T"  "Y"  "I"  "M"  "A"  "B"  "W"  "T"  "Y" 
##  [603] "A"  "M"  "M"  "N"  "2"  "Y"  "Y"  "B"  "M"  "Y"  "C"  "N"  "J"  "I" 
##  [617] "I"  "T"  "M"  "D"  "A"  "E"  "E"  "I"  "T"  "I"  "I"  "Y"  "I"  "I" 
##  [631] "I"  NA   "A"  "Y"  "A"  "T"  "W"  "I"  NA   "T"  "I"  "A"  "N"  "T" 
##  [645] "T"  "N"  "N"  "T"  "H"  "S"  "S"  "I"  "C"  "N"  "O"  "A"  "A"  "O" 
##  [659] "I"  "N"  "P"  "B"  "B"  "T"  "W"  "N"  "A"  "W"  "H"  "L"  "E"  "Y" 
##  [673] "T"  "A"  "A"  "S"  "I"  "P"  "N"  "E"  "Y"  NA   "C"  "F"  "W"  "H" 
##  [687] "G"  "O"  "G"  "L"  "R"  "R"  "G"  "S"  "M"  "H"  "A"  "G"  "W"  "B" 
##  [701] "C"  "P"  "H"  "F"  "M"  "M"  "M"  "M"  "M"  "S"  "H"  "T"  "A"  "A" 
##  [715] "W"  "M"  "G"  "C"  "M"  "L"  "W"  "O"  "O"  "J"  "O"  "W"  "A"  "A" 
##  [729] "R"  "S"  "H"  "A"  "W"  "M"  "R"  "T"  "C"  "G"  "B"  "M"  "R"  "W" 
##  [743] "P"  "E"  "E"  "I"  "J"  "M"  "N"  "S"  "C"  "E"  "E"  "B"  "J"  "E" 
##  [757] "U"  "T"  "B"  "H"  "H"  "A"  "T"  "F"  "M"  "K"  "F"  "R"  "R"  "C" 
##  [771] "T"  "H"  "T"  "W"  "T"  "H"  "A"  "J"  "M"  "N"  "S"  "C"  "E"  "G" 
##  [785] "D"  "J"  "I"  "B"  "M"  "'"  "C"  "T"  "W"  "L"  "G"  "L"  "M"  "M" 
##  [799] "C"  "D"  "S"  "H"  "E"  "E"  "E"  "R"  "E"  NA   "I"  "T"  "A"  "A" 
##  [813] "I"  "T"  "T"  "T"  "F"  "I"  "N"  "F"  "A"  "A"  "A"  "C"  "I"  "C" 
##  [827] "L"  "Y"  "T"  "T"  "W"  "S"  "W"  "B"  "H"  "L"  "D"  "H"  "S"  "T" 
##  [841] "L"  "Y"  "A"  "L"  "N"  "T"  "I"  "L"  "M"  "N"  "I"  "O"  "T"  "N" 
##  [855] "Y"  "N"  "F"  "C"  "L"  "T"  "I"  NA   "C"  "F"  "W"  "W"  "Y"  "T" 
##  [869] NA   "L"  "L"  "L"  "L"  "H"  "T"  "N"  "N"  "T"  "H"  "W"  "T"  "T" 
##  [883] "F"  "L"  "L"  NA   "W"  "H"  "I"  "Y"  "L"  "C"  "'"  "S"  "I"  "G" 
##  [897] "S"  "T"  "L"  "M"  "S"  "T"  "W"  "W"  "S"  "S"  "I"  "I"  "W"  "W" 
##  [911] "O"  "S"  "S"  "H"  "S"  "I"  "I"  "I"  "L"  "W"  "W"  "H"  "B"  "B" 
##  [925] "W"  "A"  "O"  "B"  "H"  "E"  "T"  "O"  "D"  "L"  "L"  "S"  "L"  "U" 
##  [939] "E"  "B"  "W"  "Y"  "N"  "T"  "H"  "O"  "S"  "H"  "I"  "H"  "M"  "H" 
##  [953] "I"  "D"  "I"  "P"  "Y"  "I"  "I"  "L"  NA   "H"  "A"  "S"  "B"  "Y" 
##  [967] "I"  "Y"  NA   "W"  "L"  "W"  "H"  "I"  "P"  "H"  "S"  "G"  "W"  "A" 
##  [981] "M"  "Y"  NA   "W"  "N"  "Y"  "I"  "I"  "R"  NA   "A"  "A"  "W"  "W" 
##  [995] "M"  "B"  "W"  "L"  "C"  "T"  "C"  "I"  "I"  "A"  "W"  "B"  "A"  "Y" 
## [1009] "H"  "N"  "T"  "C"  "T"  "H"  "H"  "A"  "W"  "C"  "C"  "I"  "D"  "A" 
## [1023] "I"  "L"  "I"  "E"  "C"  "T"  "A"  "F"  "G"  "I"  "T"  "T"  "H"  "B" 
## [1037] "T"  "S"  "A"  "T"  "S"  "S"  "F"  "Y"  "S"  "K"  "K"  "Y"  "Y"  "A" 
## [1051] "A"  "A"  "Y"  "A"  "F"  "O"  "T"  "M"  "L"  "T"  "S"  "I"  "T"  "T" 
## [1065] "T"  "B"  "A"  "A"  "T"  "D"  "Y"  NA   "C"  "C"  "W"  "L"  "G"  "T" 
## [1079] "T"  "B"  "É"  "S"  "É"  "W"  "A"  "G"  "B"  "A"  "N"  "É"  "D"  "B" 
## [1093] "D"  "'"  NA   "Y"  "T"  "A"  "T"  "A"  "T"  "S"  "T"  "L"  "P"  "T" 
## [1107] "S"  "A"  "D"  "F"  "W"  "O"  "B"  "W"  "T"  "T"  "T"  "M"  "W"  "Y" 
## [1121] "S"  "A"  "S"  "O"  "I"  "I"  "I"  "I"  "B"  "I"  "I"  "T"  "D"  "T" 
## [1135] "H"  "W"  "I"  "F"  "T"  "I"  "R"  "B"  "R"  "B"  "H"  "Y"  "T"  "I" 
## [1149] "H"  "Y"  "H"  "I"  "A"  "S"  "A"  "S"  "R"  "I"  "B"  "M"  "R"  "T" 
## [1163] "B"  "T"  "M"  "I"  "B"  "W"  "W"  "O"  "R"  "B"  "R"  "B"  "W"  "F" 
## [1177] "G"  "D"  "G"  "A"  "I"  "I"  "T"  NA   "L"  "T"  "L"  "D"  "L"  "S" 
## [1191] "G"  "L"  "L"  "H"  "T"  "H"  "O"  "I"  "I"  "T"  "T"  "L"  "L"  "B" 
## [1205] "T"  "T"  "D"  "S"  "I"  "W"  "E"  "T"  "W"  "W"  "W"  "B"  "I"  "T" 
## [1219] "T"  "D"  "S"  "I"  "W"  "W"  "E"  "T"  "W"  "W"  "S"  "S"  "W"  "T" 
## [1233] "T"  "D"  "S"  "I"  "W"  "W"  "E"  "T"  "W"  "H"  "T"  "T"  "C"  "W" 
## [1247] "H"  "S"  "S"  "I"  "T"  "T"  "I"  "T"  "T"  "A"  "O"  "O"  "J"  "W" 
## [1261] "D"  "D"  "D"  "I"  "I"  "N"  "F"  "F"  "D"  "Y"  "H"  "H"  "B"  "W" 
## [1275] "I"  "H"  "I"  "W"  "T"  "T"  "A"  "T"  "O"  "W"  "W"  "S"  "A"  "T" 
## [1289] "I"  "I"  "Y"  "B"  "D"  "I"  "W"  "N"  "N"  "I"  "T"  "T"  "B"  "I" 
## [1303] "I"  "A"  "O"  "Y"  "Y"  "T"  "I"  "I"  NA   "I"  "S"  "T"  "A"  "S" 
## [1317] "A"  "E"  "Y"  "T"  "A"  "A"  "T"  "E"  "I"  "I"  "T"  "A"  "W"  "I" 
## [1331] "I"  "I"  "T"  "W"  "W"  "A"  "A"  "I"  "O"  "I"  "D"  "W"  "W"  "A" 
## [1345] "N"  "M"  "A"  "C"  "T"  "I"  "I"  "A"  "A"  "A"  "C"  "T"  "D"  "I" 
## [1359] "A"  "H"  "A"  "W"  "A"  "T"  "N"  "N"  "N"  "I"  "F"  "E"  "("  "A" 
## [1373] "N"  "A"  "'"  "S"  "T"  "R"  "Y"  "W"  "G"  "P"  "O"  "D"  "H"  "H" 
## [1387] "W"  "I"  "I"  NA   "T"  "I"  "H"  "H"  "I"  "T"  "H"  "I"  "I"  "T" 
## [1401] "W"  "W"  "G"  "F"  "Y"  "G"  NA   "W"  "W"  "I"  "D"  "W"  "E"  "Y" 
## [1415] "W"  "I"  "I"  "J"  "T"  "D"  "Y"  "T"  "Y"  "S"  "H"  "G"  "G"  "I" 
## [1429] "I"  "O"  "W"  "W"  "T"  "P"  "N"  "W"  "I"  NA   "Y"  "I"  "L"  "M" 
## [1443] NA   "I"  "O"  "D"  "B"  "S"  "L"  "S"  NA   "M"  "I"  "I"  "T"  "I" 
## [1457] "T"  "C"  "W"  "T"  "T"  "T"  "T"  "M"  "H"  "I"  "B"  "W"  "T"  "T" 
## [1471] "T"  "H"  "T"  "H"  "A"  "O"  "A"  "T"  "T"  "W"  "O"  "I"  "H"  "O" 
## [1485] "T"  "A"  "O"  "W"  "O"  "I"  "W"  "A"  "B"  "O"  "A"  "W"  "W"  "D" 
## [1499] "S"  "D"  "T"  "T"  "O"  "O"  "W"  "W"  "T"  "O"  "W"  "C"  "N"  "W" 
## [1513] "H"  "T"  "M"  "S"  "O"  "R"  "E"  "E"  "T"  "T"  "D"  "M"  "I"  "O" 
## [1527] "I"  "T"  "A"  "O"  "I"  "I"  "I"  "I"  "O"  "W"  "C"  "N"  "W"  "O" 
## [1541] "W"  "W"  "T"  "T"  "T"  "T"  "W"  "O"  "O"  "O"  NA   "H"  "I"  "E" 
## [1555] "W"  "I"  "I"  "F"  "S"  "I"  "O"  "N"  "A"  "D"  "F"  "T"  "H"  "G" 
## [1569] "I"  "S"  "G"  "G"  "I"  "T"  "T"  "Y"  "P"  "A"  "L"  "L"  NA   "I" 
## [1583] "I"  "I"  "I"  "G"  "H"  "Y"  "W"  "T"  "A"  "G"  "T"  "\"" "A"  "C" 
## [1597] "A"  "I"  "L"  "N"  "I"  "I"  "T"  "P"  NA   "A"  "N"  "W"  "W"  "A" 
## [1611] "N"  "S"  "W"  "I"  "W"  "T"  "A"  "O"  "A"  "W"  "A"  "A"  "I"  "A" 
## [1625] "I"  "A"  "A"  "A"  "T"  "A"  "S"  "I"  "H"  "W"  "T"  "T"  "I"  "A" 
## [1639] "W"  "A"  "T"  "I"  "I"  "I"  "B"  NA   "N"  "L"  "H"  "L"  "T"  "A" 
## [1653] "W"  "L"  "W"  NA   "Y"  "N"  "Y"  "Y"  "G"  "D"  "T"  "D"  "T"  "L" 
## [1667] "I"  "I"  "I"  "B"  "A"  "W"  "T"  "H"  "W"  "T"  "W"  "I"  "T"  "T" 
## [1681] "B"  "C"  "H"  "L"  "G"  "I"  "S"  "T"  "A"  "W"  "S"  "W"  "S"  "B" 
## [1695] "S"  "T"  "T"  "T"  "L"  "Y"  "I"  "S"  "E"  "D"  "I"  "T"  "T"  "W" 
## [1709] "D"  "T"  "T"  NA   "T"  NA   "G"  "'"  "H"  "W"  "T"  "I"  "H"  "I" 
## [1723] NA   "É"  "I"  "É"  "O"  "D"  "A"  "Y"  "A"  "A"  "A"  "B"  "I"  "J" 
## [1737] "S"  "Y"  "I"  "T"  "T"  "A"  "A"  "I"  "T"  "T"  "A"  "I"  "H"  "Y" 
## [1751] "A"  "C"  "S"  "I"  "A"  "C"  "I"  "T"  "A"  "A"  "A"  "I"  "'"  "A" 
## [1765] "W"  NA   "G"  NA   "S"  "T"  "H"  "H"  "W"  "S"  "S"  NA   "H"  "W" 
## [1779] "I"  "A"  "Y"  "T"  "Y"  "T"  "Y"  "A"  "A"  "H"  "T"  NA   "T"  "B" 
## [1793] "Y"  "P"  "T"  "F"  "S"  NA   "S"  "B"  "T"  "M"  "F"  "F"  "I"  "W" 
## [1807] "G"  "T"  "I"  "G"  "L"  "T"  "T"  "D"  "T"  "T"  "H"  "C"  "T"  "W" 
## [1821] "Y"  "T"  "H"  NA   "Y"  "Y"  "I"  "G"  "V"  "I"  "C"  "O"  "W"  "Y" 
## [1835] "Y"  "S"  "I"  "Y"  "Y"  "I"  "Y"  "N"  "T"  "Y"  "I"  "A"  "N"  NA  
## [1849] "C"  "T"  "E"  "W"  "F"  "L"  "("  "M"  "D"  "S"  "H"  "H"  "H"  "D" 
## [1863] "C"  "W"  "W"  "C"  "M"  "I"  "D"  "T"  "G"  "T"  "T"  "T"  "D"  "T" 
## [1877] "G"  "T"  "T"  "T"  "A"  "L"  "H"  "A"  "T"  "H"  "A"  "T"  "D"  "N" 
## [1891] "L"  "W"  "W"  "F"  NA   "G"  "I"  "H"  "L"  "B"  "B"  "B"  "H"  "I" 
## [1905] "T"  "H"  "A"  "B"  "H"  "Y"  "L"  "I"  "L"  "B"  "B"  "B"  NA   "T" 
## [1919] "W"  "T"  "Y"  "L"  "L"  "D"  "S"  "A"  "R"  "L"  "N"  "I"  NA   "F" 
## [1933] "H"  "M"  "W"  "B"  "L"  "T"  "A"  "L"  "I"  "I"  "A"  "F"  "L"  "I" 
## [1947] "Y"  "A"  NA   "C"  "S"  "L"  NA   "L"  "L"  "M"  "B"  NA   "."  "B" 
## [1961] NA   "."  "A"  NA   "S"  "W"  NA   "Y"  "T"  "Y"  "W"  "L"  "M"  "M" 
## [1975] "M"  "L"  "U"  "I"  NA   "H"  "P"  "Y"  "S"  "A"  "H"  "A"  "Y"  "W" 
## [1989] "B"  "S"  "A"  NA   "H"  "W"  "T"  "T"  "H"  "H"  "A"  "B"  "W"  "B" 
## [2003] "S"  "W"  "I"  "W"  "A"  "C"  "I"  "A"  "T"  NA   NA   NA   "I"  "T" 
## [2017] "T"  "A"  "I"  "I"  "A"  "A"  "A"  "T"  "A"  "C"  "L"  "H"  "G"  "T" 
## [2031] "T"  "B"  "I"  NA   "W"  "T"  "I"  "W"  "A"  "V"  "D"  "I"  "I"  "T" 
## [2045] "I"  "T"  "T"  "H"  "I"  "I"  "I"  "I"  "A"  "C"  "S"  "S"  "A"  "W" 
## [2059] "M"  "T"  "I"  "A"  "T"  "T"  "I"  "A"  "A"  "O"  "I"  "F"  "T"  "T" 
## [2073] NA   "D"  "C"  "D"  "S"  "D"  "W"  "N"  "N"  "T"  "T"  "N"  "F"  "T" 
## [2087] "W"  "N"  "N"  "E"  "S"  "W"  "T"  "T"  "T"  "R"  NA   "T"  "T"  "E" 
## [2101] "N"  "H"  "H"  "H"  "A"  "F"  "T"  "A"  "A"  "T"  "B"  "O"  "O"  "T" 
## [2115] "T"  "T"  "P"  "P"  "E"  "W"  "O"  "W"  "E"  "W"  "E"  "Y"  "T"  "E" 
## [2129] "W"  "F"  "D"  "W"  "I"  "A"  "E"  "W"  "A"  "A"  "A"  "T"  "B"  "O" 
## [2143] "Y"  "D"  "I"  NA   "A"  "N"  "\"" "S"  "S"  "S"  "C"  "I"  "L"  "W" 
## [2157] "A"  "A"  "L"  "L"  NA   "A"  "N"  "A"  "A"  "T"  "O"  "M"  "I"  "I" 
## [2171] "F"  "Y"  "A"  "B"  "T"  "A"  "A"  "N"  "T"  "Y"  "A"  "T"  "O"  "T" 
## [2185] "I"  "S"  "S"  "T"  "O"  "T"  "H"  "F"  "I"  "Y"  "H"  "H"  "I"  "I" 
## [2199] "T"  "A"  "W"  "W"  "Y"  "W"  "M"  "W"  "S"  "M"  "A"  "T"  "I"  "P" 
## [2213] "I"  "W"  "F"  NA   NA   "R"  "M"  "I"  "("  "A"  "("  "W"  "("  NA  
## [2227] "T"  "I"  "W"  "W"  "D"  "N"  "T"  "G"  "D"  "H"  "S"  "T"  NA   "W" 
## [2241] "S"  "B"  "T"  NA   "S"  "L"  "Y"  "Y"  "W"  "Y"  "T"  "I"  "T"  "I" 
## [2255] "W"  "P"  "B"  "I"  "B"  "J"  "H"  "H"  "I"  "E"  NA   "I"  "T"  "O" 
## [2269] "I"  "T"  "J"  "A"  "G"  "C"  "T"  NA   NA   "A"  "H"  "H"  "T"  "P" 
## [2283] "A"  "W"  "B"  "L"  "E"  "D"  "S"  "P"  "B"  "W"  "K"  "M"  "C"  "W" 
## [2297] "M"  "A"  "J"  "A"  "I"  "I"  "I"  "A"  "U"  "T"  "A"  "G"  "T"  "W" 
## [2311] "T"  "B"  "B"  NA   "M"  "M"  "Y"  "I"  "A"  "S"  "A"  NA   "P"  "A" 
## [2325] "C"  "T"  "I"  "I"  "I"  "A"  "C"  "W"  "H"  "C"  "A"  "N"  "A"  "N" 
## [2339] "F"  "Y"  "P"  "I"  "T"  "Y"  "F"  "I"  "O"  "I"  "R"  "W"  "I"  "O" 
## [2353] "Y"  "A"  NA   "C"  "W"  "A"  "A"  "L"  "L"  "F"  "A"  NA   "T"  "A" 
## [2367] "T"  "F"  "A"  "T"  "T"  NA   "D"  "L"  "I"  "W"  "F"  "T"  "E"  "A" 
## [2381] "T"  "I"  "T"  "T"  "T"  "A"  "W"  "W"  "S"  "I"  "D"  "S"  "I"  "W" 
## [2395] "W"  "W"  "S"  "I"  "D"  "S"  "I"  "W"  "A"  "T"

You can use alternation to pick between one or more alternative patterns. For example, to look for grey or gray, you can use |. To make it clear that you are picking between two characters, use parentheses:

str_extract_all(whoami, "kn(e|o)w")
## [[1]]
## [1] "knew" "know"
str_detect(lesmis$lyric, "kn(e|o)w")
##    [1]    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [13] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE
##   [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
##   [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##   [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
##   [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [97] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [109] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
##  [121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [133] FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [145] FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE
##  [157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [169] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [181] FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [193] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
##  [205] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [217] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [229] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [241] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [253] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [265] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE
##  [277] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [289] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [301] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [325] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [337] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [349] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
##  [361] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [373] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [385] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [397] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [409] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [421] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [433] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [445] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [457] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
##  [481] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
##  [493] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [505] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [517] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [529] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [541] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [553] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [565] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [577] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
##  [589] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [601] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [613] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [625] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE
##  [637] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [649] FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [661] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [673]  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
##  [685] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [697] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [709] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [721] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [733] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [745] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [757] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [769] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [781] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [793] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [805] FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [817] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [829] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [841] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [853] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
##  [865] FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [877] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
##  [889] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [901] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [913] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [925] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [937] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [949] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE
##  [961]    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
##  [973] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE    NA FALSE
##  [985]  TRUE  TRUE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
##  [997] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE
## [1009] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1021] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1033] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1045] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1057] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1069] FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1081] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
## [1093]  TRUE FALSE    NA FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1117] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1129] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1141] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE
## [1153] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1165] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1177] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE
## [1189] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1201] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1213] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1225] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1237] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1249]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
## [1261]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1273] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE FALSE
## [1285] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1297] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
## [1309] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1321] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1333] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
## [1345] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1357] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE
## [1369] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1381] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [1393] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1405] FALSE FALSE    NA FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE
## [1417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1429] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [1441] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1453] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1465] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1477] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1489] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1501] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
## [1513] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1525] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE
## [1537] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1549] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
## [1561] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
## [1573] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE    NA FALSE FALSE FALSE
## [1585] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1597] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [1609] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1621] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE
## [1633] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
## [1645] FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1657] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1669] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [1681] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE
## [1693] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1705] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE    NA FALSE FALSE
## [1717] FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE
## [1729] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1741] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1753] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [1765] FALSE    NA FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1777] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1789] FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [1801] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1813] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1825] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1837] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1849] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
## [1861] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1873] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1885] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1897] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
## [1909] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [1921] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1933] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1945] FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE    NA  TRUE FALSE FALSE
## [1957] FALSE    NA FALSE FALSE    NA FALSE FALSE    NA FALSE FALSE    NA FALSE
## [1969] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE
## [1981] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [1993] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2005] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA    NA    NA  TRUE FALSE
## [2017] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2029] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
## [2041] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2053] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE
## [2065] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [2077] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2089] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE
## [2101] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2113] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2125] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2137] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE    NA FALSE FALSE
## [2149] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [2161]    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2173] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
## [2185] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2197] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2209] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE    NA    NA FALSE FALSE FALSE
## [2221] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
## [2233] FALSE FALSE  TRUE FALSE FALSE  TRUE    NA FALSE FALSE FALSE FALSE    NA
## [2245]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2257] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA  TRUE FALSE FALSE
## [2269] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA    NA FALSE FALSE FALSE
## [2281] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2293] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
## [2305] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE
## [2317] FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE
## [2329] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2341] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2353] FALSE FALSE    NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA
## [2365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE    NA FALSE FALSE FALSE FALSE
## [2377] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2389] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2401] FALSE FALSE FALSE FALSE

You can also determine how many times a character occurs:

  • ?: 0 or 1
  • +: 1 or more
  • *: 0 or more
  • {n}: exactly n
  • {n,}: n or more
  • {,m}: at most m
  • {n,m}: between n and m

This is great for alternations (such as color vs. color) and commonly-misspelled words. For example, does judgement have that first e? Many people spell it without the e.

str_extract_all(whoami, "judge?ment")
## [[1]]
## [1] "judgement"
head(str_extract_all(lesmis$lyric, "a{2,}h"), 30)
## [[1]]
## [1] NA
## 
## [[2]]
## [1] "aah"   "aah"   "aaaah"
## 
## [[3]]
## [1] "aah"   "aah"   "aaaah"
## 
## [[4]]
## [1] "aah"   "aah"   "aaaah"
## 
## [[5]]
## [1] "aah"   "aah"   "aaaah"
## 
## [[6]]
## character(0)
## 
## [[7]]
## character(0)
## 
## [[8]]
## character(0)
## 
## [[9]]
## character(0)
## 
## [[10]]
## character(0)
## 
## [[11]]
## character(0)
## 
## [[12]]
## character(0)
## 
## [[13]]
## character(0)
## 
## [[14]]
## character(0)
## 
## [[15]]
## character(0)
## 
## [[16]]
## character(0)
## 
## [[17]]
## character(0)
## 
## [[18]]
## character(0)
## 
## [[19]]
## character(0)
## 
## [[20]]
## character(0)
## 
## [[21]]
## character(0)
## 
## [[22]]
## character(0)
## 
## [[23]]
## character(0)
## 
## [[24]]
## character(0)
## 
## [[25]]
## character(0)
## 
## [[26]]
## character(0)
## 
## [[27]]
## character(0)
## 
## [[28]]
## character(0)
## 
## [[29]]
## character(0)
## 
## [[30]]
## character(0)
head(str_extract_all(lesmis$lyric, "a{1,3}h"), 30)
## [[1]]
## [1] NA
## 
## [[2]]
## [1] "aah"  "aah"  "aaah"
## 
## [[3]]
## [1] "aah"  "aah"  "aaah"
## 
## [[4]]
## [1] "aah"  "aah"  "aaah"
## 
## [[5]]
## [1] "aah"  "aah"  "aaah"
## 
## [[6]]
## character(0)
## 
## [[7]]
## character(0)
## 
## [[8]]
## character(0)
## 
## [[9]]
## character(0)
## 
## [[10]]
## character(0)
## 
## [[11]]
## character(0)
## 
## [[12]]
## character(0)
## 
## [[13]]
## character(0)
## 
## [[14]]
## character(0)
## 
## [[15]]
## character(0)
## 
## [[16]]
## character(0)
## 
## [[17]]
## character(0)
## 
## [[18]]
## character(0)
## 
## [[19]]
## character(0)
## 
## [[20]]
## character(0)
## 
## [[21]]
## character(0)
## 
## [[22]]
## character(0)
## 
## [[23]]
## character(0)
## 
## [[24]]
## character(0)
## 
## [[25]]
## character(0)
## 
## [[26]]
## character(0)
## 
## [[27]]
## character(0)
## 
## [[28]]
## character(0)
## 
## [[29]]
## character(0)
## 
## [[30]]
## character(0)

Note that I used a regular expression to extract the title only from the track_title column:

lesmis = mutate(lesmis, title = str_extract(track_title, regex("[[a-z]?'\\s]+", ignore_case = TRUE)))

head(lesmis)
## # A tibble: 6 x 7
##   track_title             track_n  line lyric    element  element_artist  title 
##   <chr>                     <int> <int> <chr>    <chr>    <chr>           <chr> 
## 1 Prologue (Ft. Colm Wil…       1     1 <NA>     "\"Work… Claude-Michel … "Prol…
## 2 Prologue (Ft. Colm Wil…       1     2 Aaah, a… "PRISON… Claude-Michel … "Prol…
## 3 Prologue (Ft. Colm Wil…       1     3 Aaah, a… "PRISON… Claude-Michel … "Prol…
## 4 Prologue (Ft. Colm Wil…       1     4 Aaah, a… "PRISON… Claude-Michel … "Prol…
## 5 Prologue (Ft. Colm Wil…       1     5 Aaah, a… "PRISON… Claude-Michel … "Prol…
## 6 Prologue (Ft. Colm Wil…       1     6 Look do… "PRISON… Claude-Michel … "Prol…

Practice

For more practice and reading on regular expressions, I encourage you to read the following: