【发布时间】:2014-05-05 01:54:48
【问题描述】:
我可以在 XSLT 中对字符串进行条件格式化吗?
输入字符串是这种格式的电话号码:
+1234567890
我想要的是;如果 第 3 位(不包括 +)是 4 或 9,则字符串应显示为
+12 435 67 890 或 +12 935 67 890
但如果是其他数字:
+12 34 56 78 90
适用于所有第 3 位数字(4 或 8 除外)
<td>
<xsl:value-of select="substring($number,1,3)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="substring($number,4,2)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="substring($number,6,2)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="substring($number,8,2)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="substring($number,10)"/>
</td>
如果有人知道格式化此字符串的更优雅的方式,请告诉。
【问题讨论】:
-
我建议你使用
<xsl:choose>。有一种“聪明”的方法可以在一次计算中提供两种格式 - 但恕我直言,最好有清晰易读的代码。至于“格式化此字符串的更优雅的方式”,您可以使用 concat() 函数 - 但它几乎没有什么区别。 XSLT 本质上是冗长的,没有必要担心它。
标签: string xslt formatting phone-number