正则表达式在XSL中搜索,匹配后选择字符串

时间:2015-10-14 11:30:48

标签: regex xslt saxon

我有一个解决方案,其中文件名的前缀显示PDF的文件大小。我需要将该值读入XML文件,该文件包含许多使用XSLT收集的其他信息。

我怎么能得到这个正则表达式匹配工作。 Filename具有此结构,如下例所示: 776524_P9466_Novilon_Broschyr_SE_Omslag.xml其中下划线前面的数字是filesize。

我有一个正则表达式搜索模式_(。*),我可以验证它将匹配数字第一部分后的所有内容。

以下是我遇到问题的XSL:

@BeforeMethod

$ filename_of_file包含字符串: 776524_P9466_Novilon_Broschyr_SE_Omslag.xml

我还试图匹配下划线之前的数字并替换为该匹配但是还没有得到它。其他替换我从字符串开头删除其他匹配的地方。

由于

2 个答案:

答案 0 :(得分:2)

如何使用substring-before()XPath函数?

<xsl:variable name="file_size" select="substring-before($filename, '_')" />

答案 1 :(得分:0)

而不是replace($filename_of_file, '$find_size', ''),而不是replace($filename_of_file, $find_size, '')