PA 5.2: Scrambled Message

Regular Expressions

Download starter qmd file

library(tidyverse)

Pick your poison!

You may choose to work through Q1 - Q6 using a data.frame message_data and follow the dplyr pipeline syntax.

message_data <- read_csv("https://github.com/earobinson95/stat331-calpoly/raw/master/practice-activities/data/scrambled_message.txt")

class(message_data)
[1] "spec_tbl_df" "tbl_df"      "tbl"         "data.frame" 

or you might prefer to work with the character vector message and use indexing – e.g. message[1] gives you the first element.

message <- message_data |> 
  pull(Word)

class(message)
[1] "character"
Tip

In this activity, a “word” is a set of characters with no white space. That is, even though many of elements of the scrambled mess vector are nonsense, and some have punctuation, you can consider each element to be a “word”.

You may find the R Regex Tester useful in this activity.

Warm-up exercises

  1. How many characters are in the scrambled message?

  2. How many words are in the scrambled message?

  3. Print out every piece of a word in the scrambled message that starts with the letter “m”.

  4. Print out every piece of a word in the scrambled message that ends with the letter “z”

  5. Print out every punctuation symbol in the scrambled message.

  6. Print out the longest word in the scrambled message.

Decode a message

Danger

You likely want to work with the message character vector for decoding.

Complete the following steps to decode the message.

  1. Remove any spaces before or after each word.

  2. No word should be longer than 16 characters. Drop all extra characters off the end of each word.

  3. Any time you see the word “ugh”, with any number of h’s, followed by a punctuation mark, delete this.

  4. Replace all instances of exactly 2 a’s with exactly 2 e’s.

  5. Replace all z’s with t’s.

  6. Every word that ends in b, change that to a y.

  7. Every word that starts with k, change that to a v.

  8. Use str_c() to recombine all your words into a message.

  9. Find the movie this quote is from.

Canvas Quiz Submission

What is the name of the movie the quote is from?