R:删除所有不匹配的字符串矢量字母

时间:2019-07-11 13:53:06

标签: r string replace

我有一个字符串向量

d <- c("sladfj0923rn2", ääas230ß0sadfn", 823Höl32basdflk")

我想从此向量中删除所有不包含的字符 匹配“ a-z”,“ A-z”和“'”

我尝试使用 gsub("![a-zA-z'], "", d)  但这不起作用。

2 个答案:

答案 0 :(得分:2)

我们甚至可以通过不区分大小写的sub使您的替换模式更加严格:

d <- c("sladfj0923rn2", "ääas230ß0sadfn", "823Höl32basdflk")
gsub("[^a-z]", "", d, ignore.case=TRUE)

[1] "sladfjrn"  "assadfn"   "Hlbasdflk"

答案 1 :(得分:1)

我们可以使用方括号内的^来匹配除方括号中指定的字符外的所有字符

gsub("[^a-zA-Z]", "", d)
#[1] "sladfjrn"  "assadfn"   "Hlbasdflk"

数据

d <- c("sladfj0923rn2", "ääas230ß0sadfn", "823Höl32basdflk")