2012-02-10 2 views
2

私はColdFusionでWebサービスを作成しています。問題は、最後の要素の後にコンマを取り除く方法を理解できないことです。私のコードは次のようになります。リストを生成するときに最後のコンマを取り除く方法は?

このような出力(末尾のカンマを注意してください)

url1,url2,url3, 

がどのように私は、末尾のカンマを取り除くことができ、代わりにこれを生成を生成

<cfoutput query="Attachments"> 
    #url#, 
</cfoutput> 

url1,url2,url3 

答えて

8

これは簡単な方法である:

<cfoutput>#ValueList(Attachments.url)#</cfoutput> 
+0

ダーン、私はあまりにも言葉です。あなたは秒で私を打ち負かす;) – Leigh

+1

ValueListはこのシナリオでは最良の方法ですが、カウンターを実装して、カウンターがレコード数と等しいときに停止することもできます。 '' '' '#URLの#、' '' '' のようなものValueListは幅広い区切り文字を受け入れます。 –

+1

@mrbusche実際にはカウンタを設定する必要はありません。ループ内で 'currentRow'を使用できるので、この方法で確認できます。' #url# ' –

0

Jake's answerは、この特定の場合には必要なものです。

は、より一般的なケースでは、あなたがこれを行うことができます:

<cfloop ...> 
    <cfset myList=listAppend(myList,value)> 
</cfloop> 

を(デフォルト)は、ColdFusion以来行うことができますトリックのビットもあります空のリスト要素が無視されます:

<cfset myList=arrayToList(listToArray(myList))> 

ヘック、

もちろん、リストを文字列として出力していない場合、あなたはそうではありませんColdFusionは空の要素を無視するだけなので、最後にコンマを気にする必要があります。文字列として出力する場合は、カンマをクリーンアップするもう1つの方法があります。しかし、それは他の人ほど信頼できません。

<cfoutput>#left(trim(mylist),len(trim(mylist))-1)#</cfoutput> 
関連する問題