R 如何交替使用向量列表(正则表达式)
可以将字符串向量解析为正则表达式中的替换元素吗?例如:R 如何交替使用向量列表(正则表达式),r,regex,alternation,R,Regex,Alternation,可以将字符串向量解析为正则表达式中的替换元素吗?例如: pattern <- "^This\\s(*alternation element*)\\srocks\\." Animals <- c("cow","dog","cat") pattern您可以使用paste0生成正则表达式: paste0('^This\\s(', paste0(Animals, collapse = "|"), ')\\ssrocks\\.') #[1] "^This\\s(cow|dog|cat)\\s
pattern <- "^This\\s(*alternation element*)\\srocks\\."
Animals <- c("cow","dog","cat")
pattern您可以使用paste0
生成正则表达式:
paste0('^This\\s(', paste0(Animals, collapse = "|"), ')\\ssrocks\\.')
#[1] "^This\\s(cow|dog|cat)\\ssrocks\\."
注意:在R中,需要使用双反斜杠(\\
) 我们可以使用sprintf
sprintf("^Thi\\s(%s)\\ssrocks\\.", paste(Animals, collapse="|"))
#[1] "^Thi\\s(cow|dog|cat)\\ssrocks\\."
sprintf("^Thi\\s(%s)\\ssrocks\\.", paste(Animals, collapse="|"))
#[1] "^Thi\\s(cow|dog|cat)\\ssrocks\\."