我目前需要通过删除联系人号码来过滤联系人的电话号码(如果出于呼叫ID的目的而相同)。
例如:-> 在这样的数组中 [“ + 91 12345678”,“ 12345678”,“ + 91 123 456 78”,“ 99999999”]
“ + 91 12345678” 与“ 12345678” 相同,与“ + 91 123 456 78” 。
因此,此处的输出应为 [“ + 91 12345678”,“ 99999999”]
我尝试通过kotlin提供的各种group/groupby
方法来对元素进行分组,但是所有方法都需要一个键。当前,尚无将所有电话号码归为一组的特定键。我显然可以创建多个循环并解决此问题,但我想看看是否有一种更清洁的方法。
答案 0 :(得分:1)
您可以使用distinctBy:
val list = listOf("+91 12345678","12345678","+91 123 456 78","99999999")
val output = list.distinctBy {
it.replace(" ", "") // Remove whitespace
// TODO also add the +91 prefix if it is not already there
}