我想知道从一长串包含非字母字符的单词中跳过所有单词的最快最强大的方法是什么?
输入应如下所示:
words = c('one', 'two', 'three,', 'four', '.five', 'others\'', 'ma-ny')
结果,新列表应为:
newWords = c('one', 'two', 'four')
gsub()
或 tidyverse 和stringr
包中的内容?非常感谢!
答案 0 :(得分:4)
我们可以使用grep
指定模式,从开头([[:alpha:]]+
)到结尾(^
)只有一个或多个字母($
)字符串
grep("^[[:alpha:]]+$", words, value = TRUE)
#[1] "one" "two" "four"
答案 1 :(得分:3)
使用基础R中的grep
作为akun建议,或者您可以使用包stringr
:
library(stringr)
str_subset(words, "^[:alpha:]+$")