我有一个像下面这样的字符向量:
char <- c("cancer_6_53_7575_tumor.csv", "control_7_4_7363_healthy.csv")
Run Code Online (Sandbox Code Playgroud)
我想提取字符串中以4位数患者ID中的"7"开头并以"."结尾的部分,但是当该患者ID之前有7时,以下方法不起作用.
values <- unlist(qdapRegex::rm_between(char, "7", ".", extract = TRUE))
Run Code Online (Sandbox Code Playgroud)
如何指定它必须以4位数字中的7开头?
你可以用这个:
char <- c("cancer_6_53_7575_tumor.csv", "control_7_4_7363_healthy.csv")
gsub(".*(7\\d{3}.*)\\..*$", "\\1", char)
[1] "7575_tumor" "7363_healthy"
Run Code Online (Sandbox Code Playgroud)
7\\d{3}.:(7\\d{3}.*)\\.\\1