给定一个网址矢量,我想过滤这些网址,并仅显示匹配一组模式的网址。
bpel:doXslTransform("getNamespace.xsl", $Var.message/tns1:Body/tns2:Container/tns2:Object[1])
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml"/>
<xsl:template match="child::node[position()=1]">
<xsl:value-of select="namespace-uri(.)"/>
</xsl:template>
我目前正在使用data.table包。用于匹配具有单个模式的向量我使用
/pages/
/econo/*
/categ/sub
对于多种模式,这不起作用
urls[! urls %like% "/pages" ]
答案 0 :(得分:1)
使用|
分隔模式:
urls[! urls %like% paste(c("/pages/","/categ/sub"),collapse="|") ]
示例:
DT <- data.table(a = paste0(letters,rev(letters)))
DT[a %like% paste(c("a","b","c"),collapse="|")]
编辑:这也可以在没有data.table包的情况下使用:
vector <- paste0(letters,rev(letters))
patterns <- c("a","b","c")
matches <- unique(grep(paste(patterns,collapse="|"),
vector, value=TRUE))