如何在 R 字符串中选择/删除引号中的任何内容?如何删除字符列中的数字?



我有一列字符串,下面是一个例子:

"ABC">

'def'

123

456

吉伊

杰克尔

MNO23

我想删除带有引号和数字的值,所以我希望我的最终数据看起来像

吉伊

杰克尔

MNO23

任何帮助如何在 R 中执行此操作?

我们可以从base R中使用grepl(或grep(

subset(df1, !grepl("'", col1))

或与grep

df1[grep("'", df1$col1, invert = TRUE),]

如果我们需要删除这两个数字,只需字符串和'

subset(df1, grepl('^[A-Za-z]+$', col1))

或者改变前面的条件,检查字符串的开头(^(到结尾($(是否有'或(|(一个或多个数字([0-9]+(,并否定(!(从grepl导出的逻辑向量

subset(df1, !grepl("'|^[0-9]+$", col1))
#   col1
#5  ghi
#6  jkl

或者如果它是任何数字

subset(df1, !grepl("'|[0-9]", col1))
#   col1
#5  ghi
#6  jkl

数据

df1 <- data.frame(col1 = c("'abc'", "'def'", 123, 456, "ghi", "jkl"), stringsAsFactors = FALSE)

最新更新