[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: regular expression in replace()
i think i already solve my problem (i think :D) I used a recursive function: <xsl:function name="f:rep"> <xsl:param name="source" as="xs:string"/> <xsl:param name="pattern" as="xs:string"/> <xsl:param name="replace" as="xs:string"/> <xsl:choose> <xsl:when test="contains($source,$pattern)"> <xsl:value-of select="substring-before($source,$pattern)"/> <xsl:value-of select="$replace"/> <xsl:value-of select="f:rep(substring-after($source,$pattern),$pattern,$replace)"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$source"/> </xsl:otherwise> </xsl:choose> </xsl:function> this replaces the replace() function. so when i call <xsl:sequence select="f:rep('Lucie et Suz. Beauvais Beauvais, Suzanne', 'Suz.', 'Suzanne')"/> i can get: Lucie et Suzanne Beauvais Beauvais, Suzanne I hope this is correct :D --- UlyLee <ulyleeka@xxxxxxxxx> wrote: > I have a string: "Lucie et Suz. Beauvais Suzanne" > and > i want to replace "Suz." with "Suzanne". > > but when i use replace("Lucie et Suz. Beauvais > Suzanne","Suz.","Suzanne") it gives me "Lucie et > Suzanne Beauvais Suzannenne", i figured that this is > because "." is treated as a regular expression thats > why it replaced "Suza" with "Suzanne". I know i need > to escape the "." to "\." but what if my > replace-pattern contains other regex characters like > "?" "*" "+"? > > Michael Kay suggested that i first make my > replacement > string to regelar expression or create a replace > function that uses substring-before() and > contains(). > How am i to go around this? I'm just starting out in > XSL and the new features of XSLT 2.0 sometime > confuses > me. > > My first alternative was to use replace($sourceStr, > ".", "\.") but it says "\." is an invalid > replacement string. > > > > __________________________________ > Yahoo! Music Unlimited > Access over 1 million songs. Try it free. > http://music.yahoo.com/unlimited/ > > __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|