从 r 中的向量中删除包含两个或多个大写字母的字符串

ZT_*_*Geo 4 r

我有以下向量作为示例。

isotopes <- c("6Li", "7Li", "7LiH", "10B", "11B", "11BH")
Run Code Online (Sandbox Code Playgroud)

我想从向量中删除字符串"7LiH"和。"11BH"这些值有两个大写字母,因此我试图弄清楚如何使用grep删除这些值或仅索引向量中的其他字符串。我怎样才能做到这一点?

STe*_*kov 7

您可以简单地 grep 查找包含 2 个或更多大写字母的元素并反转匹配:

grep('[A-Z].*[A-Z]', isotopes, value=TRUE, invert=TRUE)
Run Code Online (Sandbox Code Playgroud)

正则表达式匹配包含一个大写字母的字符串,然后可能是其他字母,然后是一个大写字母(不需要在开头或结尾)