Re: [xsl] Filter leading numbers out of Strings

Subject: Re: [xsl] Filter leading numbers out of Strings
From: Rolf Leopold <leopoldmail@xxxxxx>
Date: Tue, 07 Nov 2006 22:49:46 +0100
Hi Michael,

thank`s a lot for your help.
After your advice i realised that i only meant the leading numbers of any other characters without the trailing numbers.
Anyhow, here ist my solution based on your hint:
<xsl:variable name="stringJunK" select="translate($String,'0123456789','')"/>(filter out all numbers)
<xsl:variable name="firstCharacterOfJunK" select="substring($stringJunK,1,1)"/>(Get the first character of the non-numbers)
<xsl:variable name="leadingNumbers" select="substring-before($String,$firstCharacterOfJunK)"/>(get the numbers before the first non-number sign)
(Exception:Only numbers, where i use an additional if-query).


Michael Kay schrieb:
You say leading numbers, but you don't give an example with a trailing
number. What do you want to happen to 123ABC789?

Also, the non-numeric parts of your strings contain A-Z only. Is that a
feature of the data, or just an accident of your examples?

You can handle your examples with translate($in, 'ABCDE...Z', '').

Michael Kay

-----Original Message-----
From: leopoldmail@xxxxxx [mailto:leopoldmail@xxxxxx] Sent: 06 November 2006 07:01
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Filter leading numbers out of Strings


i have stings in different length with leading numbers in an XML-File which i want to transform into another XML-File:
Is it possible to only filter out leading numbers of the strings without using a recursive template and without using xsl2.0?
For example:
"1234AB" should be "1234"
"123456ABC" should be "123456"
"123456789A" should be "123456789"

thank`s a lot for any help,

Current Thread