library(stringr)
## Warning: package 'stringr' was built under R version 3.5.1
raw.data <- "555-1239Moe Szyslak(636) 555-0113Burns, C. Montgomery555
-6542Rev. Timothy Lovejoy555 8904Ned Flanders636-555-3226Simpson,
Homer5553642Dr. Julius Hibbert"
name <- unlist(str_extract_all(raw.data, "[[:alpha:]., ]{2,}"))
name
## [1] "Moe Szyslak" "Burns, C. Montgomery" "Rev. Timothy Lovejoy"
## [4] "Ned Flanders" "Simpson," "Homer"
## [7] "Dr. Julius Hibbert"
name2 <- sub(" [A-z]{1}\\. "," ",name) # to remove some initials from the given name
name3 <- sub("(\\w+),\\s(\\w+)","\\2 \\1", name2) # move last and first names
name4 <- sub("[A-z]{2,3}\\. ","",name3) # to remove anykind of titles that are in the given names titles
name4
## [1] "Moe Szyslak" "Montgomery Burns" "Timothy Lovejoy"
## [4] "Ned Flanders" "Simpson," "Homer"
## [7] "Julius Hibbert"
has_title <- str_detect(name,"[[:alpha:]]{2,3}[.]")
df <- data.frame(name,has_title)
df
## name has_title
## 1 Moe Szyslak FALSE
## 2 Burns, C. Montgomery FALSE
## 3 Rev. Timothy Lovejoy TRUE
## 4 Ned Flanders FALSE
## 5 Simpson, FALSE
## 6 Homer FALSE
## 7 Dr. Julius Hibbert TRUE
has_second_name <- str_detect(name," [A-z]{1}\\. ")
df <- data.frame(name,has_second_name)
df
## name has_second_name
## 1 Moe Szyslak FALSE
## 2 Burns, C. Montgomery TRUE
## 3 Rev. Timothy Lovejoy FALSE
## 4 Ned Flanders FALSE
## 5 Simpson, FALSE
## 6 Homer FALSE
## 7 Dr. Julius Hibbert FALSE
output <- c("0123456789$")
unlist(str_extract_all(output, "[0-9]+\\$"))
## [1] "0123456789$"
output <- c("one two three four five six seven eight nine ten")
unlist(str_extract_all(output, "\\b[a-z]{1,4}\\b"))
## [1] "one" "two" "four" "five" "six" "nine" "ten"
output <- c("characters, spaces, filename: example.txt")
unlist(str_extract_all(output, ".*?\\.txt$"))
## [1] "characters, spaces, filename: example.txt"
output <- c("51/21/4721 2567/771/13")
unlist(str_extract_all(output, "\\d{2}/\\d{2}/\\d{4}"))
## [1] "51/21/4721"
output <- c("<!DOCTYPE html><html><body>Hello Assignment3</body></html></html>")
unlist(str_extract_all(output, "<(.+?)>.+?</\\1>"))
## [1] "<html><body>Hello Assignment3</body></html>"
clcopCow1zmstc0d87wnkig7OvdicpNuggvhryn92Gjuwczi8hqrfpRxs5Aj5dwpn0Tanwo Uwisdij7Lj8kpf03AT5Idr3coc0bt7yczjatOaootj55t3Nj3ne6c4Sfek.r1w1YwwojigO d6vrfUrbz2.2bkAnbhzgv4R9i05zEcrop.wAgnb.SqoU65fPa1otfb7wEm24k6t3sR9zqe5 fy89n6Nd5t9kc4fE905gmc4Rgxo5nhDk!gr
Answer:
secret_message <- c("clcopCow1zmstc0d87wnkig7OvdicpNuggvhryn92Gjuwczi8hqrfpRxs5Aj5dwpn0Tanwo",
"Uwisdij7Lj8kpf03AT5Idr3coc0bt7yczjatOaootj55t3Nj3ne6c4Sfek.r1w1YwwojigO",
"d6vrfUrbz2.2bkAnbhzgv4R9i05zEcrop.wAgnb.SqoU65fPa1otfb7wEm24k6t3sR9zqe5",
"fy89n6Nd5t9kc4fE905gmc4Rgxo5nhDk!gr")
message <- unlist(str_extract_all(secret_message, "[[:upper:].]{1,}"))
message <- str_replace_all(paste(message, collapse = ''), "[.]", " ")
message
## [1] "CONGRATULATIONS YOU ARE A SUPERNERD"