gpt4 book ai didi

r - 使用OR和NOT的R中的Grep

转载 作者:行者123 更新时间:2023-12-03 10:18:49 27 4
gpt4 key购买 nike

我在R中有以下 vector ,我想找到所有包含A和B而不是数字2的字符串。

vec1<-c("A_cont_1", "A_cont_12", "B_treat_8", "AB_cont_22", "cont_21_Aa")

以下内容不起作用:
grep("A|B|!2", vec1)

它给了我所有的字符串:
[1] 1 2 3 4 5

对于此示例也是如此:
grep("A|B|-2", vec1)

正确的语法是什么?

最佳答案

您可以使用相当简单的正则表达式来做到这一点:

grep("^[^2]*[AB][^2]*$", vec1)

换句话说,这意味着:
  • ^匹配字符串
  • 的开头
  • [^2]*匹配除“2”以外的任何字符,零次或多次
  • [AB]匹配“A”或“B”
  • [^2]*匹配除“2”以外的任何字符,零次或多次
  • $匹配字符串
  • 的结尾

    关于r - 使用OR和NOT的R中的Grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237852/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com