从字符串中删除特殊字符和空格

Muh*_*mil 2 regex string r gsub dplyr

name1 <- "Adam & Eve"
name2 <- "Spartacus"
name3 <- "Fitness and Health"
Run Code Online (Sandbox Code Playgroud)

我想删除所有空格和特殊字符,例如%&,.and名称之间的单词,然后将每个字符串大写,因此名称变为:

name1 <- "ADAMEVE"
name2 <- "SPARTACUS"
name3 <- "FITNESSHEALTH"
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

我们可以使用sub删除and字符串,然后gsub删除^除字母(大写,小写)以外的所有()并将大小写转换为大写(toupper

f1 <- function(x) toupper(gsub("[^A-Za-z]", "", sub("and", "", x, fixed = TRUE)))
Run Code Online (Sandbox Code Playgroud)

-测试

> f1(name1)
[1] "ADAMEVE"
> f1(name2)
[1] "SPARTACUS"
> f1(name3)
[1] "FITNESSHEALTH"
Run Code Online (Sandbox Code Playgroud)