我想要一个AutoHotkey代码,该代码将从列表中删除重复项,同时还将重复计数添加到相应的列表项(即“ x 2”)。
这是一个示例列表:
myList =
)
apple
banana
apple
apple pie
banana
apple
)
这是所需的结果列表:
myList =
(
apple x 3
banana x 2
apple pie
)
我是AHK的新手,并且代码一般。我发现了许多删除重复项的好代码,但是没有一个可以如上所述计算它们。我自己的解决方案可能非常简单:将唯一的项目(上面的“苹果派”)放入变量中,将重复的项目(“香蕉,苹果”的所有实例)放入单独的变量中,对/计数例如重复项,然后将两个变量组合在一起以生成“所需结果列表”。但是,由于子字符串问题,我自己的代码无法正常工作。最好不要使用我的代码来淡化这个问题,而最好从经验更丰富,简洁的方法开始。谢谢您的帮助。
答案 0 :(得分:0)
MsgBox % CountList( MyList )
CountList( _list ) {
l := StrSplit(_list,"`n"), out:="`n"
for i, a in l {
c:=0
for j, b in l
c := (a = b) ? c + 1 : c
if !(InStr(out, "`n" a "`t"))
out .= a (c > 1 ? "`t x " c "`n" : "`n")
}
return Trim(out, "`n")
}