[xsl] regex question about reorganizing a string in XSLT

Subject: [xsl] regex question about reorganizing a string in XSLT
From: "Mark Wilson" <mark@xxxxxxxxxxxx>
Date: Mon, 31 Aug 2009 04:46:36 -0700
Hi all,
Some time ago, I asked nearly this same question, but phrased my question
incorrectly. I got a great answer for that question from Ken Holman which
answered the question I asked, but not the one I should have asked.

What I really want to do is reorganize strings that contain, for example
"(Mrs),", " (Dr)," and " (senior),". (There is a space in front of each that
also needs to be removed during the reorganization.) Such that:

<Person>Jones (senior), John</Person>
becomes
<Person>Jones, John (senior)</Person>

But only when the <Person> element contains the substring "),"; all other
<Person>elements should not be touched For instance,

<Person>Smith, Ralph J.</Person>

Would remain unchanged.

Ken gave me:

<xsl:value-of select="replace(., '.*(\([a-zA-Z]+\)).*', '$1' )"/>
because I had asked the question incorrectly, which gives me

<Person>(senior)</Person>

when he answered my misphrased question

Thanks,
Mark


Current Thread