XSLT替换为动态内容

时间:2015-08-04 07:47:37

标签: xslt replace

我在XSLT中有一个String(在变量内)。在此字符串中,我需要将\E\.br\E\替换为\.br\。使用XSLT 2.0取代非常简单:

<xsl:value-of select="replace($myString,'[\\]E[\\].br[\\]E[\\]','\\.br\\')"/>

但是我需要替换从\E\.开始并以\E\再次结束的任何事件。这意味着:\E\.anything\E\将被替换为\.anything\

但我必须存储anything之间的\E\

是否有可以保留中间信息的高级替换功能 - 或者我是否需要循环遍历字符串并手动搜索每次出现?如果是 - 我如何在XSLT中的字符串变量中循环。

1 个答案:

答案 0 :(得分:0)

您可以在模式中对子表达式进行分组,例如replace($myString, '([\\]E)([\\].*?[\\])(E[\\])', '$2')并在替换字符串中引用包含$index的组。