|
Subject: Re: [xsl] efficiently extracting a capture group from analyze-string() From: "Graydon graydon@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sat, 4 Jun 2022 16:23:04 -0000 |
On Sat, Jun 04, 2022 at 03:30:03PM -0000, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx scripsit:
> Hi everyone!
>
> Given some filename string like
>
> <xsl:variable name="file" select="'path/my-sometype.xml'"/>
>
> Ibd like to extract the bmy-(\w+)b part of the filename using analyze-string().
I would recommend against trying to do this with general application of
a single regular expression.
If you only want something that starts with 'my-' and you're confident
no other path component has 'my-' in it, it'd be:
tokenize($file,'/')[starts-with(.,'my-')]
possibly
tokenize($file,'/')[matches(.,'my-','i')]
if you're not sure it's exactly 'my-'.
Or, classically,
tokenize($file,system-property('file.separator'))[last()]
or if your processor gives you access to the file EXPath module
( http://expath.org/spec/file ) it's modernly
file:name($file)
Standard and library functions always have better test cases; use them
if you can.
--
Graydon Saunders | graydonish@xxxxxxxxx
CC&s oferC)ode, C0isses swC! mC&g.
-- Deor ("That passed, so may this.")
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] efficiently extracting a , Imsieke, Gerrit, le- | Thread | Re: [xsl] efficiently extracting a , Graydon graydon@xxxx |
| Re: [xsl] efficiently extracting a , Imsieke, Gerrit, le- | Date | Re: [xsl] efficiently extracting a , Graydon graydon@xxxx |
| Month |