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

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

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

  • 给定"apost's & pound#.JPG"时,不返回:
        "aposts-and-pound.jpg"
    

    replaceList返回:
        "apostandspound-.JPG"
    

    我正在使用ColdFusion 10。

    最佳答案

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

    一些List〜字符串处理函数具有一个附加参数来更改此行为(即,将空元素视为空字符串),但ReplaceList似乎没有。

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

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

    或者
    replacelist( rereplace(filename,"['##]","","all") , "&, " , "and,-" )
    

    关于ColdFusion replacelist重新排序返回的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14506716/

    10-11 09:16