home contribute faq download

FunctX XSLT Functions

functx:substring-before-last

The substring before the last occurrence of a delimiter

Google
Webxsltfunctions.com

Description

The functx:substring-before-last function returns the part of $arg that appears before the last occurrence of $delim. If $arg does not contain $delim, a zero-length string is returned.

Arguments and Return Type

NameTypeDescription
$arg xs:string? the string to substring
$delim xs:string the delimiter
return value xs:string

XSLT Function Declaration

See XQuery definition.
<xsl:function name="functx:substring-before-last" as="xs:string"
              xmlns:functx="http://www.functx.com">
  <xsl:param name="arg" as="xs:string?"/>
  <xsl:param name="delim" as="xs:string"/>

  <xsl:sequence select="
   if (matches($arg, functx:escape-for-regex($delim)))
   then replace($arg,
            concat('^(.*)', functx:escape-for-regex($delim),'.*'),
            '$1')
   else ''
 "/>

</xsl:function>

Examples

XPath ExampleResults
functx:substring-before-last(
   'abc-def-ghi', '-')
abc-def
functx:substring-before-last('abcd-abcd', 'ab')
abcd-
functx:substring-before-last('abcd-abcd', 'x')
zero-length string

Depends On

functx:escape-for-regexEscapes regex special characters

See Also

fn:substring-beforeThe substring before the first occurrence of a delimiter
functx:substring-before-if-containsPerforms substring-before, returning the entire string if it does not contain the delimiter
functx:substring-after-lastThe substring after the last occurrence of a delimiter

History

Published OnLast UpdatedContributor(s)
2006-06-272007-02-26Priscilla Walmsley, Datypic, pwalmsley@datypic.com, http://www.datypic.com
Datypic XSLT Services

Recommended Reading:

XQuery