Previous | Next | Indexes
Zvon > Tutorials > XSLT 2.0 Tutorial > Transforming strings with regular expressions (3/8) >

Replacing patterns in a string - replace() function

The function replace() replaces a pattern given as the second argument by the third one.

The "i" flag given as the forth optional argument enables case insensitive replacement.

If the second argument does not match any pattern in the first one the first argument is returned.

XSLT

      <xsl:stylesheet
                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  version="2.0">
            <xsl:output  method="xml"
                        indent="yes"
                        omit-xml-declaration="yes"/>

            <xsl:template  match="/aaa">
                  <xxx>
                        <xsl:value-of  select="replace(.,'o.','#')"/>
                  </xxx>
                  <yyy>
                        <xsl:value-of  select="replace(.,'ho','QQQ','i')"/>
                  </yyy>
                  <zzz>
                        <xsl:value-of  select="replace(.,'HHH','BFF')"/>
                  </zzz>
            </xsl:template>

      </xsl:stylesheet>
XML

      <aaa>How do you do?</aaa>
Output

      <xxx>H# d#y# d#</xxx>
      <yyy>QQQw do you do?</yyy>
      <zzz>How do you do?</zzz>


Previous chapter: Functions operating on strings
Next chapter: Number Formatting
Previous page: Case insensitive search for a pattern
Next page: Using matched substrings in replacements