我有如下字符串,
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。
请建议/以代码的形式给我一些想法。
假设当前上下文节点是您要处理其值的那个,那么
<xsl:variable name="numCommas"
select="string-length() - string-length(translate(., ',', ''))" />
会给你字符串中逗号的数量(从字面上看,它是在计算字符串的长度减去去掉所有逗号的字符串的长度)。如果您有一个包含 32 个逗号的变量(这可能是在模板之外定义的全局变量):
<xsl:variable name="thirtyTwoCommas"
select="',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'" />
然后您可以substring($thirtyTwoCommas, $numCommas + 1)
获取一个包含额外逗号数量的字符串,您需要添加到原始字符串以使其达到 32 个。如果原始字符串中有 32 个或更多逗号,那么这将是空的。