Q1) O CPF é um número de 11 dígitos, por exemplo: 54491651884. No entanto para facilitar a visualização costumamos mostrá-lo com separadores a cada 3 casas: 544.916.518-84. Crie uma função que transforma um número de 11 dígitos em uma string com as separações, como um CPF.

library(stringr)
CPF_func <- function(cpf){
  g1 <- str_sub(cpf,1,3)
  g2 <- str_sub(cpf,4,6)
  g3 <- str_sub(cpf,7,9)
  dig <- str_sub(cpf,10,11)
  return(str_c(g1,".",g2,".",g3,"-",dig))
}
cpf <- "15757212438"
CPF_func(cpf)
## [1] "157.572.124-38"

Q2) Crie uma regex que capture múltiplas versões da palavra ‘casa’. Ela deve funcionar com as palavras ‘Casa’, ‘CASA’, ‘CaSa’, ‘CAsa’. Teste-a usando a função str_detect().

text <- c("casa", "CASA", "CaSa", "cAsA")
str_detect(text, pattern = "casa")
## [1]  TRUE FALSE FALSE FALSE
str_detect(text, regex("casa", ignore_case = TRUE))
## [1] TRUE TRUE TRUE TRUE

Q3) De acordo com as regras da língua portuguesa, antes de ‘p’ ou ‘b’ devemos usar a letra ‘m’. Em outras palavras, com outras consoantes, usamos a letra ‘N’. Suponha que você tem o seguinte texto com erros gramaticais: s <- ‘Nós chamamos os bonbeiros quando começou o incêmdio.’

(s <- "Nós chamamos os bonbeiros quando começou o incêmdio.")
## [1] "Nós chamamos os bonbeiros quando começou o incêmdio."
s <- str_replace_all(s,"nb+","mb")
s <-str_replace_all(s,"md+","nd")
s
## [1] "Nós chamamos os bombeiros quando começou o incêndio."

Q4) Proceda a ‘limpeza’ do texto que segue:

“toda_Escolha___quE_você_FizEr_E_toda_DECisão_quE_você_toMar_ tErá_sEu_lado_boM_E_sEu_lado_ruiM.@.@_considErE-os__ coM_cuidado_E_toME_a_dEcisão.@UMa_rEsposta_ MEnos_quE_pErfEita_é_infinitaMEntE_MElhor_do_quE_não_fazEr_nada_.@ Tudo_quE_vocE_sE_dispõE_a_fazEr_EnvolvE_alguns_ riscos_E_dEsafios.@_Para_qualquEr_coisa_quE_você_EMprEEndEr_ ExistEM_ Muitas_razõEs_para_não_fazê-lo.@_PEsE_os_ riscos_E_os_bEnEfícios_E,_Então_assuMa_o_coMproMisso_dE_agir.@_DEcida_o_quE_você_ quEr_fazEr,coM_os_olhos_bEM_abErtos,E lEvE_isso_EM_frEntE_sEM_olhar_para_trás.@ ExistEM_Muitas_dirEçõEs_dEntrE_as_quais você_podE_EscolhEr.@_MEsMo_assiM,você_prEcisa_EscolhEr. @_Suas_possibilidadEs_são_ significativas_apEnas_quando_você_EscolhE alguMas_dElas__E_rEjEita_o_rEsto.@_TEntar_fazEr_tudo_ao_MEsMo_tEMpo_é_ tão_inútil_ quanto_não_tEntar_nada.@ DEfina-sE.@_Escolha_sEu_caMinho_E_coMEcE_ a_andar.@_DEcida_o_quE_quEr_fazEr_E_Mãos_à_obra.@"

s <- "toda_Escolha___quE_você_FizEr_E_toda_DECisão_quE_você_toMar_ tErá_sEu_lado_boM_E_sEu_lado_ruiM.@.@_considErE-os__ coM_cuidado_E_toME_a_dEcisão.@UMa_rEsposta_ MEnos_quE_pErfEita_é_infinitaMEntE_MElhor_do_quE_não_fazEr_nada_.@ Tudo_quE_vocE_sE_dispõE_a_fazEr_EnvolvE_alguns_ riscos_E_dEsafios.@_Para_qualquEr_coisa_quE_você_EMprEEndEr_ ExistEM_ Muitas_razõEs_para_não_fazê-lo.@_PEsE_os_ riscos_E_os_bEnEfícios_E,_Então_assuMa_o_coMproMisso_dE_agir.@_DEcida_o_quE_você_ quEr_fazEr,coM_os_olhos_bEM_abErtos,E lEvE_isso_EM_frEntE_sEM_olhar_para_trás.@ ExistEM_Muitas_dirEçõEs_dEntrE_as_quais você_podE_EscolhEr.@_MEsMo_assiM,você_prEcisa_EscolhEr. @_Suas_possibilidadEs_são_ significativas_apEnas_quando_você_EscolhE alguMas_dElas__E_rEjEita_o_rEsto.@_TEntar_fazEr_tudo_ao_MEsMo_tEMpo_é_ tão_inútil_ quanto_não_tEntar_nada.@ DEfina-sE.@_Escolha_sEu_caMinho_E_coMEcE_ a_andar.@_DEcida_o_quE_quEr_fazEr_E_Mãos_à_obra.@"
s
## [1] "toda_Escolha___quE_você_FizEr_E_toda_DECisão_quE_você_toMar_ tErá_sEu_lado_boM_E_sEu_lado_ruiM.@.@_considErE-os__ coM_cuidado_E_toME_a_dEcisão.@UMa_rEsposta_ MEnos_quE_pErfEita_é_infinitaMEntE_MElhor_do_quE_não_fazEr_nada_.@ Tudo_quE_vocE_sE_dispõE_a_fazEr_EnvolvE_alguns_ riscos_E_dEsafios.@_Para_qualquEr_coisa_quE_você_EMprEEndEr_ ExistEM_ Muitas_razõEs_para_não_fazê-lo.@_PEsE_os_ riscos_E_os_bEnEfícios_E,_Então_assuMa_o_coMproMisso_dE_agir.@_DEcida_o_quE_você_ quEr_fazEr,coM_os_olhos_bEM_abErtos,E lEvE_isso_EM_frEntE_sEM_olhar_para_trás.@ ExistEM_Muitas_dirEçõEs_dEntrE_as_quais você_podE_EscolhEr.@_MEsMo_assiM,você_prEcisa_EscolhEr. @_Suas_possibilidadEs_são_ significativas_apEnas_quando_você_EscolhE alguMas_dElas__E_rEjEita_o_rEsto.@_TEntar_fazEr_tudo_ao_MEsMo_tEMpo_é_ tão_inútil_ quanto_não_tEntar_nada.@ DEfina-sE.@_Escolha_sEu_caMinho_E_coMEcE_ a_andar.@_DEcida_o_quE_quEr_fazEr_E_Mãos_à_obra.@"
s <- str_to_sentence(s)
s <- str_replace_all(s,"_+", " ")
s <- str_replace_all(s,"@+.", " ")
(s <- str_replace_all(s,"@", " "))
## [1] "Toda escolha que você fizer e toda decisão que você tomar  terá seu lado bom e seu lado ruim.  Considere-os  com cuidado e tome a decisão. ma resposta  menos que perfeita é infinitamente melhor do que não fazer nada . Tudo que voce se dispõe a fazer envolve alguns  riscos e desafios. Para qualquer coisa que você empreender  existem  muitas razões para não fazê-lo. Pese os  riscos e os benefícios e, então assuma o compromisso de agir. Decida o que você  quer fazer,com os olhos bem abertos,e leve isso em frente sem olhar para trás. Existem muitas direções dentre as quais você pode escolher. Mesmo assim,você precisa escolher.  Suas possibilidades são  significativas apenas quando você escolhe algumas delas e rejeita o resto. Tentar fazer tudo ao mesmo tempo é  tão inútil  quanto não tentar nada. Defina-se. Escolha seu caminho e comece  a andar. Decida o que quer fazer e mãos à obra. "