是否XSLT来增加空间小写字母后面的大写字母
我有一些简单的字符串后:是否XSLT来增加空间小写字母后面的大写字母
例:
DEFACTO,RightOfWay,HalfYearly等
我怎样才能插入小写和大写之间的空格使用xslt 2.0或xslt 3.0中的函数。
欲望输出:
既成,正确的方式,每半年
可以使用replace
功能:replace('DeFacto, RightOfWay, HalfYearly', '(\p{Ll})(\p{Lu})', '$1 $2')
给De Facto, Right Of Way, Half Yearly
。
使用提供的代码我已经为替换做了一个函数。
<xsl:function name="fn:InsertSpace">
<xsl:param name="Text" />
<xsl:value-of select="replace($Text, '(\p{Ll})(\p{Lu})', '$1 $2')"/>
</xsl:function>
请注意,要从函数返回字符串值,您应该使用'xsl:sequence'而不是'xsl:value-of',因为后者返回文本节点。 –
好吧,我改变了代码使用xsl:sequnce而不是xsl:value-of。 – DanielCSD
谢谢@Marin Honnen。那正是我所期待的。 – DanielCSD