删除“复杂”重复项

时间:2018-01-31 15:50:00

标签: javascript google-sheets google-spreadsheet-api

Test File

有时,我的电子邮件列表包含同一个人的重复地址。例如,Jane的地址都是“jane.doe@email.com”和“doe.jane@email”。她的变种包括取代“。”用“ - ”或“_”表示。目前,由@Jordan Running和Ed Nelson亲切升级的复制脚本升级 - 照顾'严格'重复,但无法检测到“doe.jane@email.com”是“简单”复制​​的“简” .doe @ email.com”。是否有办法删除这些重复项,以便我不会发送多个Jane的地址?所有这些都指向同一个收件箱,所以我只需要包含她的一个地址。

这是我目前的代码:

begin tran
begin try
  select 1/0-- this will not work
end try
begin catch
--error has occured. But it doesnt matter. We want to continue anyway
end catch

select 1--do something else
commit --commit is done without any errors

2 个答案:

答案 0 :(得分:1)

Sample File

模糊匹配测试

enter image description here

注意:

  • 在没有function ab() { var x = 85; var y = AddCorrect(x); // <-- x is a number console.log(y); } function AddCorrect(add) { add = '' + add; // <--- Convert the number to string if (add.length < 5) // <--- so you can check the length { var corrected = '0' + add; return AddCorrect(corrected); // <--- return here } else { return add; } } ab();部分的情况下使用,会导致结果失真
  • 使用自定义函数:@email.com
  • =removeDuplicatesFuzzy(B2:B12,0.66)是模糊匹配的百分比。
  • 结果的右栏(D列)显示找到的匹配&gt; 0.66精度。短划线0.66是未找到匹配项(&#34;唯一&#34;值)

背景

你可以尝试这个库: https://github.com/Glench/fuzzyset.js

要安装它,请复制代码from here

用法很简单:

-

此处还有更多信息:https://glench.github.io/fuzzyset.js/

注意:

  • 请谷歌更多信息,寻找function similar_test(string1, string2) { string1 = string1 || 'jane.doe@email.com'; string2 = string2 || 'doe.jane@email.com' a = FuzzySet(); a.add(string1); var result = a.get(string2); Logger.log(result); // [[0.6666666666666667, jane.doe@email.com]] return result[0][0]; // 0.6666666666666667 } 。与此相关的问:Javascript fuzzy search that makes sense。注意:该解决方案应适用于Google表格(无ECMA-6)
  • 这个算法不像人类那样聪明,它通过char测试字符串。如果您有两个类似的字符串,例如javascript fuzzy string match,它将与don.jeans@email.com相似84%,但人类会发现它完全是另一个人。

答案 1 :(得分:0)

搜索名为Flookup的Google表格加载项。它应该做您想要的。

对于您的情况,可以使用此功能:

ULIST(colArray, [threshold])

参数详细信息为:

  1. colArray:要从其返回唯一值的列。
  2. threshold:不唯一的colArray值之间的最小相似百分比。

或者您也可以从附加菜单中使用突出显示重复删除重复。 关键功能是您可以通过更改相似度百分比来调整严格程度。

奖励:它将轻松捕获jane.doe@email.com / doe.jane@email.com

之类的掉期交易

您可以在official website中找到更多信息。