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.
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)
The filter() function is used to choose rows/cases where conditions are true. We can use the following to do filtering:
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 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 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
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 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)
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(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(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(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(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(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(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"
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:
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:
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…
For more practice and reading on regular expressions, I encourage you to read the following: