我有一个字符串列表,我需要删除重复的字符串。我尝试过许多事情,例如:
listRemoveDuplicates(list,",",true);不幸的是,他们都不起作用。我真的不知道发生了什么事。因此,任何帮助都将不胜感激。
我目前正在使用免费的开发人员版本的ColdFusion 10,以防影响到任何事情。
样本清单:
lacunar_DM,同型半胱氨酸,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>以下是研究结果:
删除欺骗之前列出:
lacunar_DM,同型半胱氨酸,HTN,烟草,待定,lacunar_DM,同型半胱氨酸,烟草
删除欺骗后的列表:
lacunar_DM,同型半胱氨酸,HTN,烟草,待定,lacunar_DM,同型半胱氨酸,烟草
发布于 2013-03-25 03:04:26
问题是,您用cfsavecontent创建的列表中有换行符,因为该列表中的每一项都在cfsavecontent中它自己的行上。因为您要加入的另一个列表没有相同的空格,所以不会得到正确的结果。
通常情况下,最好从Cold聚变中的列表中删除不必要的空格。
尝试以下操作,而不是使用cfsavecontent:
<cfset lacunar_list = "lacunar_DM,Homocysteine,HTN,Tobacco,undetermined" >
<cfset combination = ListAppend(lacunar_list, lacunar)>发布于 2013-03-19 17:30:22
我认为你的问题是你的名单上有额外的空白。“同型半胱氨酸”和“同型半胱氨酸”不是相同的值。同样,“烟草”和“烟草”是不同的价值观。
lacunar_DM, Homocysteine, HTN, Tobacco, undetermined ,lacunar_DM,Homocysteine,Tobacco
-----------^-------------^----^--------^------------^------------X------------X发布于 2013-03-19 18:02:12
如前所述,列表项包含额外的空白。查看列表,所有项目都使用_作为空格,因此最简单的解决方案是先删除空格,然后删除重复的空格。
listRemoveDuplicates( Replace( YourList, " ", "", "ALL" ) )如果您确实有一些有效的空格,那么在手动编译列表时,我建议在字段周围使用Trim()。
YourList = ListAppend( YourList, Trim( ListItem ) )https://stackoverflow.com/questions/15505697
复制相似问题