Subject: Re: [xsl] Is there a way in XSLT/XPath to find the portion of a string that matches a pattern? From: "Liam R. E. Quin liam@xxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 10 Mar 2025 23:25:33 -0000 |
On Mon, 2025-03-10 at 22:08 +0000, Martin Honnen martin.honnen@xxxxxx wrote: > > On 10/03/2025 23:04, Martin Honnen martin.honnen@xxxxxxx wrote: > > > B B analyze-string("The person put 12 dollars into the jar", > "[0-9]+")//*:match > > returns an element node > > B B <match xmlns="http://www.w3.org/2005/xpath-functions">12</match> Or you can use replace($input, '^.*(\d+).*$', '$1') which returns "12" as a string. If there are newlines in the input, add the 's' flag so that . will cross line boundaries: replace($input, '^.*(\d+).*$', '$1', 'm') Both techniques are useful although i find the gratuitous namespace of analyze-string() a slight pain :-) -- Liam Quin,B https://www.delightfulcomputing.com/ Available for XML/Document/Information Architecture/XSLT/ XSL/XQuery/Web/Text Processing/A11Y training, work & consulting. Barefoot Web-slave, antique illustrations: B http://www.fromoldbooks.org
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Is there a way in XSLT/XP, Martin Honnen martin | Thread | Re: [xsl] Is there a way in XSLT/XP, Roger L Costello cos |
Re: [xsl] Is there a way in XSLT/XP, Martin Honnen martin | Date | [xsl] Rearrange order of processed , Michael Mueller-Hill |
Month |