coldfusion - 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”,但我正在以另一种方式代替,它不会将短语作为一个整体替换。谁能告诉我如何替换列表短语,有什么替代方法吗?
解决方案
在这里,您可以使用 ListQualify 函数来获取场景的准确结果。因此,将其转换为限定值并循环使用,然后您可以将其替换为您自己的列表数据。无需更改列表值的任何顺序。
<cfset quoted = listQualify(headerColumnList,"''")>
<cfloop index = "ListElement" list= "#quoted#" delimiters = ",">
#replaceList(ListElement,quoted,"#a#,#b#,#c#,#d#,#e#,#f#")#
<br/>
</cfloop>
推荐阅读
- scala - 重复记录移动到 Spark Scala 中的其他数据帧
- css - 带边距顶部的 css 选择选项
- node.js - 需要在我的 Ubuntu 操作系统中使用 nodejs 运行单独的 power shell 脚本
- python-3.x - 如果字符串在键或值中匹配,则删除字典中的键和值
- python - 是否有选择指定字符串后的前 2 个单词的功能?
- java - 如何使用 JSON 格式发布 ManyToOne 和 OneToOne 实体?
- sql - SSIS 不插入多于一行
- c# - 如何使用 Fizzler / HtmlAgilityPack 选择具有命名空间的 html 元素?
- osgi - OSGi 中的 bytebuddy rebase 与子类和错误名称/NoClassDefFoundError
- data-binding - Haxe:具有抽象字段访问方法的绑定模式