1.函数定义

string substring(string, number, number?)

2.xslt中substring 函数功能

返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的子字符串。长度下标从1开始。

注意:

该字符串中的每个字符都被认为具有数字位置:第一个字符的位置是 1,第二个字符的位置是 2,依此类推。

如果未指定第三个参数,将返回从第二个参数指定的位置开始直到字符串结尾的子字符串。

如果参数不是字符串类型,将先使用 string() 函数转换为字符串,然后计算该转换的结果。

此函数区分大小写。

小示例:

(1)substring("12345",2,3)   返回:234
(2)substring("12345",2)     返回:2345

返回的子字符串包含如下字符:字符位置大于或等于第二个参数的舍入值,且如果指定了第三个参数,小于第二个和第三个参数的舍入值之和。上面使用的比较和加法遵循 IEEE 754 标准规则;如同调用 round() 函数一样进行舍入。

下列示例阐释异常情况。

substring("12345", 1.5, 2.6) 返回“234

substring("12345", 0, 3) 返回“12

substring("12345", 0 div 0, 3) 返回 ""

substring("12345", 1, 0 div 0) 返回 ""

substring("12345", -42, 1 div 0) 返回 "12345"

substring("12345", -1 div 0, 1 div 0) 返回 ""


演示 substring() 表达式

XSLT 文件 (substring.xsl)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/">
substring("12345",2,3) =
<xsl:value-of select='substring("12345",2,3)'/><br/>
substring("12345",2) =
<xsl:value-of select='substring("12345",2)'/><br/>
substring("12345", 1.5, 2.6) =
<xsl:value-of select='substring("12345", 1.5, 2.6)'/><br/>
substring("12345", 0, 3) =
<xsl:value-of select='substring("12345", 0, 3)'/><br/>
substring("12345", 0 div 0, 3) =
<xsl:value-of select='substring("12345", 0 div 0, 3)'/><br/>
substring("12345", 1, 0 div 0) =
<xsl:value-of select='substring("12345", 1, 0 div 0)'/><br/>
substring("12345", -42, 1 div 0) =
<xsl:value-of select='substring("12345", -42, 1 div 0)'/><br/>
substring("12345", -1 div 0, 1 div 0) =
<xsl:value-of select='substring("12345", -1 div 0, 1 div 0)'/>
</xsl:template> </xsl:stylesheet> 格式化输出:

格式化输出

substring("12345",2,3) = 234 substring("12345",2) = 2345 substring("12345", 1.5, 2.6) = 234 substring("12345", 0, 3) = 12 substring("12345", 0 div 0, 3) = substring("12345", 1, 0 div 0) = substring("12345", -42, 1 div 0) = 12345 substring("12345", -1 div 0, 1 div 0) =

 

处理器输出XML

<?xml version="1.0" ?>   substring("12345",2,3) =       234<br />   substring("12345",2) =       2345<br />   substring("12345", 1.5, 2.6) =       234<br />   substring("12345", 0, 3) =       12<br />   substring("12345", 0 div 0, 3) =       <br />   substring("12345", 1, 0 div 0) =       <br />   substring("12345", -42, 1 div 0) =       12345<br />   substring("12345", -1 div 0, 1 div 0) =
参考地址:
微软官网MSDN的XPath的地址
https://msdn.microsoft.com/zh-cn/library/ms256180%28v=vs.80%29.aspx

xslt中substring 函数的用法的更多相关文章

  1. Oracle trunc()函数,decode()函数,substr函数,GREATEST函数,java中substring函数的用法

    --Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013- ...

  2. SQL中SUBSTRING函数的用法

    功能:返回字符.二进制.文本或图像表达式的一部分 语法:SUBSTRING ( expression, start, length ) SQL 中的 substring 函数是用来抓出一个栏位资料中的 ...

  3. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  4. mysql中INSTR函数的用法

    mysql中INSTR函数的用法 INSTR(字段名, 字符串) 这个函数返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始) SELECT * FROM tblTo ...

  5. (转)解析PHP中ob_start()函数的用法

    本篇文章是对PHP中ob_start()函数的用法进行了详细的分析介绍,需要的朋友参考下     ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行 ...

  6. Delphi中 StrToIntDef函数的用法

    Delphi中 StrToIntDef函数的用法:比如我要判断一个文本框里输入的字符串能不能转换为integer类型,如果能,则返回转换后的整型数据,如果不能,则返回整数0,那么我就可以用strtoi ...

  7. Python中int()函数的用法浅析

      int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int)  Help on class int in module __builti ...

  8. matlab中repmat函数的用法(堆叠矩阵)

    matlab中repmat函数的用法 B = repmat(A,m,n) B = repmat(A,[m n]) B = repmat(A,[m n p...]) 这是一个处理大矩阵且内容有重复时使用 ...

  9. Oracle 中 CONTAINS 函数的用法

    Oracle 中 CONTAINS 函数的用法 1. 查询住址在北京的学生 SELECT student_id,student_name FROM students WHERE CONTAINS( a ...

随机推荐

  1. node 开始深入

    一起学nodejs 讲师: matthew vscode+nodejs4.6 http://list.youku.com/albumlist/show/id_27966955.html?spm=a2h ...

  2. mysql 回顾

    主键可以是一个或者是多个列,但所有的列(或者是列的组合)必须是唯一的,非空的 关键字distinct 可以去重,实现该效果还可以使用group by limit 默认从 0 开始,limit 5 其实 ...

  3. PS常用快捷键(收藏)

    一.工具箱(多种工具共用一个快捷键的可同时按[Shift]加此快捷键选取) 矩形.椭圆选框工具 [M] 移动工具 [V] 套索.多边形套索.磁性套索 [L] 魔棒工具 [W] 裁剪工具 [C] 切片工 ...

  4. 组播协议——IGMP v2报文头介绍

    TYPE:占一个字节,其值有:0x16.0x12.0x17三种类型. Max Resp Time:最大响应时间,占一个字节. Checksum:校验和,占两个字节. Group address:组播地 ...

  5. 通过DOS命令批量重命名文件

    以下为提供的两种方法:遍历当前目录下的所有文件名以.avi结尾的文件,然后权限规则进行修改(规则含义请自行查找资料).第一种方法有缺陷,更改完所有的文件名后,会多改一次.请斟酌使用.第二种方法解决了第 ...

  6. Oracle SCN机制解析

    SCN(System Chang Number)作为oracle中的一个重要机制,在数据恢复.Data Guard.Streams复制.RAC节点间的同步等各个功能中起着重要作用.理解SCN的运作机制 ...

  7. 解决iframe在iphone不兼容的问题

    <div class="scroll-wrapper"> <iframe src="地址"></iframe> </d ...

  8. vl_sift函数用法

    I = vl_impattern('roofs1') ; image(I) ; %vl_sift函数的输入是一个单精度的灰度图像,灰度值区间归一化到[, ]. %因此图像 I 需要通过下面的函数转成相 ...

  9. console.log() 字体颜色

    console.log("%c%s", "color: #fff; background: #20B2AA; font-size: 24px;", " ...

  10. mysql里max_allowed_packet的作用

    MySQL根据配置文件会限制Server接受的数据包大小.有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置: 代码如下: show VAR ...