我正在尝试清理提交的文件名。
我正在使用replacelist(filename,"',##,&, ",",,and,-")
'
和#
&
替换为and
-
替换空格。给定"apost's & pound#.JPG"
时,而不是返回:
"aposts-and-pound.jpg"
replaceList返回:
"apostandspound-.JPG"
我正在使用ColdFusion 10。
答案 0 :(得分:8)
这不是重新排序 - 这是由于CF列表处理的工作原理 - 忽略/删除空元素。
一些List~字符串处理函数有一个额外的参数来改变这种行为(即将空元素视为空字符串),但是似乎没有替换列表。
您可以通过在替换项的单独步骤中执行删除来解决此问题:
<cfset NewFilename = rereplace(Filename,"['##]","","all") />
<cfset NewFilename = replacelist(NewFilename,"&, ","and,-") />
或
replacelist( rereplace(filename,"['##]","","all") , "&, " , "and,-" )