首页 > 解决方案 > ColdFusion 列表值替换

问题描述

我在 ColdFusion 变量中有一组列表值,我需要将所有列表值替换为所需的文本。

例如:

<cfset headerColumnList = "FirstName,LastName,Email,FrequentGuestID,IP Address,Time Stamp Email Marketing">
<cfset a="test1">
<cfset b="test2">
<cfset c="test3">
<cfset d="test4">
<cfset e="test5">
<cfset f="test6">


<cfloop index = "ListElement" list= "#headerColumnList#" delimiters = ",">  
    <cfoutput>
    #replaceList("#ListElement#","FirstName,LastName,Email,FrequentGuestID,IP Address,Time Stamp Email Marketing","#a#,#b#,#c#,#d#,#e#,#f#",",")#
</cfoutput>
</cfloop>

Output:
test1
test2
test3
test4
test5
Time Stamp test3 Marketing

在上述场景中。值“时间戳电子邮件营销”应该替换为“test6”,但我正在以另一种方式代替,它不会将短语作为一个整体替换。谁能告诉我如何替换列表短语,有什么替代方法吗?

标签: coldfusioncoldfusion-10

解决方案


在这里,您可以使用 ListQualify 函数来获取场景的准确结果。因此,将其转换为限定值并循环使​​用,然后您可以将其替换为您自己的列表数据。无需更改列表值的任何顺序。

<cfset quoted = listQualify(headerColumnList,"''")>

<cfloop index = "ListElement" list= "#quoted#" delimiters = ",">  

    #replaceList(ListElement,quoted,"#a#,#b#,#c#,#d#,#e#,#f#")# 
    <br/>
</cfloop>


推荐阅读