xsl 中字符串的初始数字部分或整数部分 [英] Initial number part or integer portion of a string in xsl
本文介绍了xsl 中字符串的初始数字部分或整数部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
通过使用 xsl 模板,谁能告诉我如何获取字符串字段的第一个数字部分
By using xsl template, can any one tell me the way to get first number portion of a string field
例如:
'12' -> should result in -> 12
'5 ASDF' -> should result in -> 5
'34SDF56' -> should result in -> 34
推荐答案
这是一个单行 XPath 解决方案: :)
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="text()">
<xsl:variable name="vS" select="concat(.,'Z')"/>
<xsl:value-of select=
"substring-before(translate($vS,translate($vS,'0123456789',''),'Z'),'Z')"/>
<xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>
当此转换应用于以下 XML 文档时:
<t>
<x>12</x>
<x>5 ASDF</x>
<x>34SDF56</x>
</t>
产生想要的、正确的结果:
12
5
34
这篇关于xsl 中字符串的初始数字部分或整数部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文