我有字段“商业注册码:1111111”和“商业注册码2222”我需要在最后一个空格符号后面:1111111和2222.在xsl中有“space”之前有符号的功能吗?
此致
从评论中更新
我将有“商业注册21 代码:“line
并且
“code”可以没有“:”符号
答案 0 :(得分:3)
如果只有一个号码,那么你可以使用
translate($string,transtale($string,'0123456789',''),'')
这将删除字符串中的任何非数字字符。
如果前缀标签是稳定的,那么您可以使用以下内容:
substring-after($string,'commercial register code:')
回答问题:
There is function to take symbolrs before "space" in xsl?
答案:是的,substring-before()
功能
<强>更新强>
从评论中看,字符串模式似乎是:
'commercial register' number 'code' (':')? number
然后使用:
translate(substring-after($string,'code'), ': ', '')
答案 1 :(得分:0)
在XSLT 2.0中,使用tokenize($in, '\s+')[last()]
如果你遇到1.0,你需要一个递归模板:在EXSLT库中检查str:tokenize。
答案 2 :(得分:0)
您可以使用EXSLT功能吗?如果是,则有str:split功能,然后您可以执行以下操作:
str:split($string, ' ')[position()=last()]