ColdFusion重传器​​重新排序返回字符串

时间:2013-01-24 17:02:22

标签: coldfusion coldfusion-10

我正在尝试清理提交的文件名。

我正在使用replacelist(filename,"',##,&, ",",,and,-")

  • 删除'#
  • &替换为and
  • -替换空格。

给定"apost's & pound#.JPG"时,而不是返回:

    "aposts-and-pound.jpg" 

replaceList返回:

    "apostandspound-.JPG"

我正在使用ColdFusion 10。

1 个答案:

答案 0 :(得分:8)

这不是重新排序 - 这是由于CF列表处理的工作原理 - 忽略/删除空元素。

一些List~字符串处理函数有一个额外的参数来改变这种行为(即将空元素视为空字符串),但是似乎没有替换列表。

您可以通过在替换项的单独步骤中执行删除来解决此问题:

<cfset NewFilename = rereplace(Filename,"['##]","","all") />
<cfset NewFilename = replacelist(NewFilename,"&, ","and,-") />

replacelist( rereplace(filename,"['##]","","all") , "&, " , "and,-" )
相关问题