我有两个值,例如:
from = XY05*
to = XY55*
然后我有一个tbl_dff
,其中包含很多字符串。
Codes = ["XY05A", "XY56", "XY555", "AT003", "XY55AB", "XY35QA"
"GA003A", "XY36", "XY100", "XY03",...]
我想使用变量from
和to
来查看变量Codes
中是否有这些变量。
从示例中,我希望对以下项进行匹配:
"XY05A"
"XY555"
"XY36"
"XY55AB"
"XY35QA"
因为它介于XY05* - XY55*
之间。 *
只是说,我不在乎会发生什么。
希望这很有道理。
答案 0 :(得分:1)
答案 1 :(得分:0)
可以使用from
和to
作为整数而不是完整字符串吗?这样,您可以从Codes
向量中提取整数,并将它们直接与from
和to
进行比较:
from <- 5
to <- 55
pattern <- "XY([0-9]+).*"
# use regex to extract the integer part of each string
Codes_int <- as.integer( sub( pattern, "\\1", Codes ) )
# return only the `Codes` where the integer is in range
Codes[ Codes_int >= from & Codes_int <= to & grepl( pattern, Codes ) ]