Cha*_*har 6 coldfusion coldfusion-10
我有一个字符串列表,我需要删除重复项.我尝试了很多东西,例如:
不幸的是,它们都没有奏效.我真的不确定发生了什么.所以任何帮助将不胜感激.
我目前正在使用免费的开发人员版本的ColdFusion 10以防万一.
样品清单:
腔隙性脂肪性肝炎,同型半胱氨酸,HTN,烟草,未定,lacunar_DM,同型半胱氨酸,烟草
这是通过附加一个静态列表创建的,该列表包含从数据库中提取的动态列表:
<cfsavecontent variable= "lacunar_list">
lacunar_DM,
Homocysteine,
HTN,
Tobacco,
undetermined
</cfsavecontent>
<cfset combination = ListAppend(lacunar_list, lacunar)>
<cfoutput>
List before removing dups: #combination#<br/>
List after removing dups: #listremoveduplicates(combination, ",", true)#<br/>
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
结果如下:
删除重复之前的列表:
腔隙性脂肪性肝炎,同型半胱氨酸,HTN,烟草,未定,lacunar_DM,同型半胱氨酸,烟草
删除重复后列出:
腔隙性脂肪性肝炎,同型半胱氨酸,HTN,烟草,未定,lacunar_DM,同型半胱氨酸,烟草
我认为您的问题是您的列表包含额外的空白区域."同型半胱氨酸"和"同型半胱氨酸"的值不同.同样,"烟草"和"烟草"的价值观也不一样.
lacunar_DM, Homocysteine, HTN, Tobacco, undetermined ,lacunar_DM,Homocysteine,Tobacco
-----------^-------------^----^--------^------------^------------X------------X
Run Code Online (Sandbox Code Playgroud)
如前所述,您的列表项包含额外的空白区域.查看列表,所有项目都_用作空格,因此最简单的解决方案是首先删除空格,然后删除重复项.
listRemoveDuplicates( Replace( YourList, " ", "", "ALL" ) )
Run Code Online (Sandbox Code Playgroud)
如果你确实有一些有效的空格,那么我建议Trim()你在手动编译列表时使用字段.
YourList = ListAppend( YourList, Trim( ListItem ) )
Run Code Online (Sandbox Code Playgroud)
问题是您创建的列表cfsavecontent中包含换行符,因为该列表中的每个项目都位于cfsavecontent. 由于您要加入的另一个列表没有相同的空格,因此您将不会获得正确的结果。
一般来说,最好从 Coldfusion 的列表中删除不必要的空格。
尝试这个而不是使用cfsavecontent:
<cfset lacunar_list = "lacunar_DM,Homocysteine,HTN,Tobacco,undetermined" >
<cfset combination = ListAppend(lacunar_list, lacunar)>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5117 次 |
| 最近记录: |