字符串函数主要用来处理字符串。字符串函数主要包括以下:concat(),contains(),normalize-space(),substing(),substring-before(),subsring-after(),translate().

1、concat()

concat()函数用于串连多个字符串。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <root>
       <e id="1">st</e>
       <e id="2">nd</e>
       <e id="3">rd</e>
    </root>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="text" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/root">
           <xsl:for-each select="e">
                <xsl:value-of select="concat(@id,.,'
    ')"/>
           </xsl:for-each>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. 1st
    2nd
    3rd

2、contains()

contains(str1,str2)函数用来判断str2是否是第一个字符串的一部分。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <books>
       <book>XML</book>
       <book>XSLT</book>
       <book>XPath</book>
       <book>C#</book>
    </books>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/books">
           <books>
           <xsl:for-each select="book">
                <xsl:if test="contains(.,'X')">
                    <xsl:copy>
                        <xsl:value-of select="."/>
                    </xsl:copy>
                </xsl:if>
           </xsl:for-each>
           </books>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. <?xml version="1.0" encoding="gb2312"?>
  2. <books>
  3.     <book>XML</book>
        <book>XSLT</book>
        <book>XPath</book>
    </books>

3、normalize-space()

normalize-space()用来将一个字符串的头部和尾部的空白字符删除,如果字符串中间含有多个连续的空白字符,将用一个空格来代替。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <article>
        <title>  When    The  Wind Blows</title>
        <paragraph>
              When you have get ready for everything ,you  could
                                            Sleep though the wind blows
        </paragraph>
        <paragraph>
              That means you should          do your best on your work and fear
                      nothing
        </paragraph>
    </article>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/books">
            <xsl:apply-templates select="article"/>
        </xsl:template>
        <xsl:template match="article">
            <xsl:copy>
                <xsl:apply-templates select="*"/>
            </xsl:copy>
        </xsl:template>
        <xsl:template match="*">
            <xsl:copy>
                <xsl:value-of select="normalize-space()"/>
            </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>

结果:

  1. <?xml version="1.0" encoding="gb2312"?>
    <article>
        <title>When The Wind Blows</title>
        <paragraph>When you have get ready for everything ,you could Sleep though the wind blows</paragraph>
        <paragraph>That means you should do your best on your work and fear nothing</paragraph>
    </article>

4、starts-with()

start-with(string,startr)函数用来判断string是否以startstr开头。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <books>
       <book>XML</book>
       <book>XSLT</book>
       <book>XPath</book>
       <book>C#</book>
    </books>

xslt:

显示行号 复制代码 ?
  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/books">
            <xsl:copy>
                <xsl:for-each select="book">
                    <xsl:if test="starts-with(.,'X')">
                        <xsl:copy-of select="."/>
                    </xsl:if>
                </xsl:for-each>
            </xsl:copy>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. <?xml version="1.0" encoding="gb2312"?>
  2. <books>
  3.     <book>XML</book>
        <book>XSLT</book>
        <book>XPath</book>
    </books>

5、string-length()

string-length(string)函数用来返回参数string的长度,如果参数string为缺省,将返回上下文节点的字符串长度。

6、substring()

substring(string,number,length)函数用来截取字符串。参数string用于指定要截取的字符串;参数number用于指定开始位置;参数length用于指定截取字符串的长度。如果缺少length参数将从开始位置number一直到截取字符串的长度

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <root>
       <text>123456789ABCDEF</text>
    </root>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="text" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/root">
            <xsl:value-of select="substring(text,1,5)"/>
            <xsl:text>
    </xsl:text>
            <xsl:value-of select="substring(text,1)"/>
            <xsl:text>
    </xsl:text>
            <xsl:value-of select="substring(text,1,string-length(text))"/>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. 12345
    123456789ABCDEF
    123456789ABCDEF

7、substring-before()

substring-before(str1,str2)函数用于返回字符串str1中位于字符串str2之前的部分。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <datetime>
        <date>2010-01-17</date>
        <time>22:49:30</time>
    </datetime>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="text" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/datetime">
            <xsl:apply-templates select="*"/>
        </xsl:template>
        <xsl:template match="date">
            <xsl:value-of select="concat(substring-before(.,'-'),'年')"/>
        </xsl:template>
        <xsl:template match="time">
            <xsl:value-of select="concat(substring-before(.,':'),'时')"/>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. 2010年22时

8、substring-after()

substring-after(str1,str2)函数跟substring-before类似,substring-after0返回字符串str1中位于字符串str2之后的部分。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <dir>
        <file>a.txt</file>
        <file>t.xml</file>
        <file>t.xslt</file>
    </dir>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/dir">
            <extends>
                <xsl:for-each select="file">
                    <extend>
                        <xsl:value-of select="substring-after(.,'.')"/>
                    </extend>
                </xsl:for-each>
            </extends>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. <?xml version="1.0" encoding="gb2312"?>
    <extends>
        <extend>txt</extend>
        <extend>xml</extend>
        <extend>xslt</extend>
    </extends>

9、translate()

translate(string,replaced_txt,replacement_txt)函数用来替换字符串,替换string中的所有replaced_txt为replacement_txt.

转载于:https://www.cnblogs.com/zhaozhan/archive/2010/01/17/1650242.html

XPath函数——字符串函数相关推荐

  1. 达梦数据库常用函数——字符串函数

    达梦数据库常用函数--字符串函数 字符串函数 函数 ASCII 函数 BIT_LENGTH 函数 CHAR 函数 CHAR_LENGTH / CHARACTER_LENGTH 函数 INITCAP 函 ...

  2. clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数

    clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数 算数函数 ...

  3. 四、SQL函数②(字符串函数)

    字符串函数:用户的密码.电子邮箱地址.证件号码等都是以字符串类型保存在数据库中的. 计算字符串长度 LENGTH()函数用来计算一个字符串的长度.该函数接受一个参数,此参数为待计算的字符串表达式,在M ...

  4. MySQL函数——字符串函数

    1.计算字符串字符数的函数和字符串长度的函数 CHAR_LENGTH(S)返回字符串S包含的字符个数 LENGTH(s)返回字符串s的字节长度 2.合并字符串函数CONCAT(S1,S2),CONCA ...

  5. MySQL --- 常用函数 - 字符串函数

    函数 MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值. MySQL 包含了大量并且丰富的函数,咱们讲解几十个常用的,剩下的比较罕见的函数我们可以到「MySQL 参考手 ...

  6. 数据库学习之MySQL (九)—— 数学函数 字符串函数 CONCAT TRIM PAD

    MySQL学习专栏 正在持续更新中:) 文章目录 复习一下 前面学到的函数 LENGTH CONCAT 数学函数 ABS CEIL FLOOR ROUND POW 常用字符串函数 SUBSTR REP ...

  7. 转 Lua标准库: table函数, 数学函数, 字符串函数/格式化/配对, WoW新增函数, 函数别名...

    这里只介绍和插件编写比较有关的几个函数. 详细的Lua手册请参照Lua Reference Manual 5.1. assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow. ...

  8. Oracle函数——字符串函数

    字符串函数 1.1 计算字符串长度的函数 LENGTH(str) 1.2 合并字符串函数CONCAT(s1,s2) CONCAT(s1,s2):返回结果为连接参数产生的字符串 1.3 字符串搜索函数I ...

  9. 【Hive】内置函数—字符串函数

    目录 一.测试表结构 二.字符串函数使用介绍 1.字符串长度函数:length 2.字符串反转函数:reverse 3.字符串连接函数:concat 4.带分隔符字符串连接函数:concat_ws 5 ...

最新文章

  1. F2etest+UIRecorder(环境搭建)【1】
  2. 计算机网络:WebSocket协议详解
  3. 使用BigDecimal进行精确运算
  4. 面试官绝杀:系统是如何支撑高并发的?
  5. Struts2 之 ActionContext获取WEB资源
  6. 云炬Android开发笔记 17商品详情功能开发
  7. 121. 买卖股票的最佳时机 golang
  8. JAVA 数组元素的反转
  9. php 定时缓存,php定时清理缓存文件的简单示例
  10. C语言中负数补码的方法,c语言里求负数补码的总结不足与优点.docx
  11. 361766103.jpg
  12. Java学习笔记:文件通道(FileChannel)
  13. 机器学习,深度学习相关介绍
  14. CSDN《程序员》杂志创始人蒋涛-推荐《程序员职场第一课》
  15. 第二阶段冲刺10天 第二天
  16. 工大瑞普Cisco路由模拟器Dynamips
  17. linux inet_aton使用实例,C语言中实现inet_aton和inet_ntoa函数功能
  18. 《安富莱嵌入式周报》第223期:2021.07.26--2021.08.01
  19. XML是什么?有什么用?
  20. tf2 + keras学习

热门文章

  1. [翻译]RobotTurK: 灾难情况紧急视频系统
  2. recurrence relation in parenthesis placing problem
  3. 年轻人(以我为例)最应该做的事情(个人观点)
  4. 合批只是对CPU的优化,与GPU没有任何关系
  5. Linux进程状态解析
  6. Tomcat源码分析 - 1
  7. 想服务器不宕机,你了解Linux“体检”指标吗?
  8. 如何设置Windows server 2008 R2登陆密码?
  9. javascript继承一览
  10. Ubuntu 安装 Qt 开发环境 简单实现