2015-06-19 56 views
1

我试图更改列表的分隔符。到目前为止,我已经取得了成功,但其中一项行动正在失败。将列表分隔符更改为新的

问题是与最后一个元素,这是v。该代码不会将=""附加到最后一个元素。它不应该添加逗号。

代码:

<cfset foo="t,u,n,f,o,a,c,r,v"> 
<cfset msg = ListChangeDelims(foo,'="",')> 
<cfoutput>#msg#</cfoutput> 

结果:

t="",u="",n="",f="",o="",a="",c="",r="",v 

我希望我的问题是有道理的。

+0

的ColdFusion的哪个版本? –

回答

2

这就是分隔符的定义。无论如何,修复起来相对容易,只需自己添加最后一个。

<cfset foo="t,u,n,f,o,a,c,r,v"> 
<cfset msg = ListChangeDelims(foo,'="",')> 
<cfset msg &= '=""'> 
<cfoutput>#msg#</cfoutput> 

http://trycf.com/gist/4ac3702b74bd79b5d1f8/

+0

或者,您可以将逗号添加到“foo”的末尾,并将includeEmptyValues设置为true。 – BuzzCloudAU

+0

是的,这会让你非常接近,但你仍然需要停止额外的逗号。 – Leigh

0

总是有老式的方式

msg = replace(foo,",","=", "all"); 
+0

是的,但这并不回答问题。正如亨利指出的那样,这个功能正在做它应该做的事情。他们只需手动添加额外的值。 – Leigh