Reputation: 141
We are trying to compare two arrays of strings and matching keywords/domains from the first array (url1) with url2. Can we use a wild card or alternate way to match keywords/domains in url1 with the whole strings in url2?
Sample Query:
let url1 = dynamic(["test2.com","test4.com"]); let url2 = dynamic( ["test.com", "test2.com/1234/", "test3.com"]); print result = set_difference(url2,url1)
Current Results:
["test.com","test2.com/1234/","test3.com"]
Expected Results:
["test.com","test3.com"]
Upvotes: 0
Views: 1064
Reputation: 44951
let url1 = dynamic(["test2.com","test4.com"]);
let url2 = dynamic( ["test.com", "test2.com/1234/", "test3.com"]);
let url2_clean = toscalar(print url = url2 | mv-apply url to typeof(string) on (summarize make_list(trim_end("/.*", url))));
print result = set_difference(url2_clean, url1)
result |
---|
["test.com","test3.com"] |
In case you need it on a row-level:
print url1 = dynamic(["test2.com","test4.com"]), url2 = dynamic( ["test.com", "test2.com/1234/", "test3.com"])
| mv-apply url2 to typeof(string) on (summarize url2_clean = make_list(trim_end("/.*", url2)))
| project result = set_difference(url2_clean, url1)
result |
---|
["test.com","test3.com"] |
Upvotes: 2