我想选择包含不字母或空格的字符的观察结果。
考虑以下向量
std::find_if(foos.begin(), foos.end(), boost::lambda::bind(&Foo::GetID, boost::lambda::_1) == 42);
该功能应该返回
A=c('C','2A','43?','-B>','Z')
我查看了[1] "2A" "43?" "-B>"
家庭和grep
套餐,但找不到我想要的内容。
答案 0 :(得分:4)
根据更新的输出,我们将字符串与从开头(^
)到结尾($
)的字母或空格匹配,否定!
并将其用作索引以返回剩下的元素。
A[!grepl('^[A-Za-z ]+$', A)]
#[1] "2A" "43?" "-B>"
或者我们检查不是LETTERS或空格([^A-Z ]
)
grep('[^A-Za-z ]', A, value=TRUE)
#[1] "2A" "43?" "-B>"