Regex 从字符向量中过滤非数字或特定字母的内容
我有一个字符向量,叫做:Regex 从字符向量中过滤非数字或特定字母的内容,regex,r,Regex,R,我有一个字符向量,叫做: myvec<- c("122","112","ghtt1","fff","223F","X","Y") 我们可以使用grep grep("^([0-9]+|X|Y)$", myvec, value=TRUE) #[1] "122" "112" "X" "Y" 我们可以使用grep grep("^([0-9]+|X|Y)$", myvec, value=TRUE) #[1] "122" "112" "X" "Y" 我们还可以定义固定的查找列表,
myvec<- c("122","112","ghtt1","fff","223F","X","Y")
我们可以使用
grep
grep("^([0-9]+|X|Y)$", myvec, value=TRUE)
#[1] "122" "112" "X" "Y"
我们可以使用
grep
grep("^([0-9]+|X|Y)$", myvec, value=TRUE)
#[1] "122" "112" "X" "Y"
我们还可以定义固定的查找列表,然后匹配
# messy chromosome names:
myvec <- c("1","12","ghtt1","fff","22","X","Y")
# result
myvec[ which(myvec %in% c(1:22,"X","Y")) ]
# [1] "1" "12" "22" "X" "Y"
#混乱的染色体名称:
myvec我们还可以定义固定的查找列表,然后匹配
# messy chromosome names:
myvec <- c("1","12","ghtt1","fff","22","X","Y")
# result
myvec[ which(myvec %in% c(1:22,"X","Y")) ]
# [1] "1" "12" "22" "X" "Y"
#混乱的染色体名称:
myvec谢谢,这里的value=TRUE
说明了什么?@MAPK如果你不使用它,grep
返回它匹配的元素的数字索引,然后你必须对它进行子集,即myvec[grep(^([0-9]+|X | Y)$”,myvec)]
。通过使用value=TRUE
,它返回的是值而不是索引。谢谢,value=TRUE
在这里说明了什么?@MAPK如果不使用它,grep
返回它匹配的元素的数字索引,然后你必须对它进行子集,即myvec[grep(^([0-9]+|X | Y)$”,myvec)]
。通过使用value=TRUE
,它返回值而不是索引。