0

我有如下字符串,

788565591,1,444,0,15956,555,126.99,15956,666,0,15956,777,101.66,15956
788565591,1,444,0,,555,126.99,,,0,15956,777

我正在尝试编写一个 xslt 模板来找出字符串中逗号的数量。根据计数,我需要添加/删除更多以将长度标准化为 32。

请建议/以代码的形式给我一些想法。

4

1 回答 1

3

假设当前上下文节点是您要处理其值的那个,那么

<xsl:variable name="numCommas"
              select="string-length() - string-length(translate(., ',', ''))" />

会给你字符串中逗号的数量(从字面上看,它是在计算字符串的长度减去去掉所有逗号的字符串的长度)。如果您有一个包含 32 个逗号的变量(这可能是在模板之外定义的全局变量):

<xsl:variable name="thirtyTwoCommas"
              select="',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'" />

然后您可以substring($thirtyTwoCommas, $numCommas + 1)获取一个包含额外逗号数量的字符串,您需要添加到原始字符串以使其达到 32 个。如果原始字符串中有 32 个或更多逗号,那么这将是空的。

于 2013-09-03T15:05:32.577 回答