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