我正在ColdFusion中编写Web服务。问题是,我不知道如何摆脱最后一个元素后的逗号。我的代码如下所示:如何在生成列表时摆脱最后的逗号?
<cfoutput query="Attachments">
#url#,
</cfoutput>
将会产生如下输出(注意后面的逗号)
url1,url2,url3,
如何才能摆脱后面的逗号和产生这个呢?
url1,url2,url3
我正在ColdFusion中编写Web服务。问题是,我不知道如何摆脱最后一个元素后的逗号。我的代码如下所示:如何在生成列表时摆脱最后的逗号?
<cfoutput query="Attachments">
#url#,
</cfoutput>
将会产生如下输出(注意后面的逗号)
url1,url2,url3,
如何才能摆脱后面的逗号和产生这个呢?
url1,url2,url3
这是一个简单的方法:
<cfoutput>#ValueList(Attachments.url)#</cfoutput>
Jake's answer是我们所需要的在这种特殊情况下。
对于更通用的情况下,你可以这样做:
<cfloop ...>
<cfset myList=listAppend(myList,value)>
</cfloop>
也有一个有点挂羊头卖狗肉的,因为ColdFusion的,你可以做(默认)忽略空列表元素:
<cfset myList=arrayToList(listToArray(myList))>
哎呀,即使这会工作:
<cfset myList=listChangeDelims(myList , "," , ",")>
当然,如果你不输出列表作为字符串,你不最后需要担心这个逗号,因为ColdFusion将会忽略空的元素。如果您将它作为字符串输出,这是清除逗号的另一种方法。尽管如此,它并不像其他人那样可靠。
<cfoutput>#left(trim(mylist),len(trim(mylist))-1)#</cfoutput>
该死,我太罗嗦了。你在几秒钟内击败了我;) – Leigh 2012-02-10 01:35:57
ValueList是这种情况下的最佳方式,但在其他情况下,您可以实现计数器并在计数器等于记录计数时停止。类似 ''' '' #URL#, '' '' ' ValueList的确可以接受大范围的分隔符 –
2012-02-10 02:17:15
@mrbusche你实际上并不需要设置一个计数器 - currentRow在循环中可用,所以你可以这样检查:'#url#, ' –
2012-02-10 02:50:01