I have a text file as below and I want to retrieve distinct value.
The first one email address’s first letter is being capital letter and
The second one email address’s first letter is being small letter.
strEmailAddress.Select(Function(m) m.Value).Distinct()
↑
If I use above code, it retrieved both of them, but I want to get only one due to they’re same email addresses. How can I solve it?
Aaaaaaa@gmail.com *
aaaaaaa@gmail.com *
rlgandu
(Rajyalakshmi Gandu)
July 30, 2024, 4:48am
2
@myakkhaing
distinctEmails = (From row In yourDataTable.AsEnumerable()
Select row.Field(Of String)("EmailAddress").ToLower()).Distinct().ToList()
Please try this linq query in assign activity
mkankatala
(Mahesh Kankatala)
July 30, 2024, 4:49am
3
Hi @myakkhaing
Check the below expression,
strEmailAddress.Distinct(Function(m) m.Value).Copytodatatable()
Hope it helps!!
It doesn’t work. I am sorry I want to retrieve from text file not from datable.
It doesn’t work. I am sorry I want to retrieve from text file not from datable.
mkankatala
(Mahesh Kankatala)
July 30, 2024, 5:00am
6
strEmailAddress is the String variable… @myakkhaing
If it’s string variable then how was the input data stored in that variable.
Could you be more specific. Share your input and expected output then we will get to understand.
If you input is like below,
- Assign -> strEmailAddress = "Aaaaaaa@gmail.com
aaaaaaa@gmail.com
Bbbbbb@gmail.com
bbbbbb@email.com"
Then use the below LINQ Expression to get the distinct values,
- Assign -> strDistinctvalues = String.Join(Environment.Newline, strEmailAddress.Split(Environment.NewLine.ToCharArray).Select(Function(X) X.ToString.ToLower).tolist().Groupby(Function(Y) Y.ToString).Select(Function(grp) grp.first).tolist())
Check the below workflow for better understanding,
rlgandu
(Rajyalakshmi Gandu)
July 30, 2024, 5:11am
7
@myakkhaing
emailArray = emailText.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
distinctEmails = (From email In emailArray Select email.ToLower()).Distinct().ToList()
String.Join(Environment.NewLine, distinctEmails)
I am sorry it was hard to understand, Here is my program.
strEmailAddresses is IEnumerable.
strEmailAddressess.GroupBy(Function(m)m.Value).Select(Function(g)g.First).ToArray()
↑
It doesn’t work too.
mkankatala
(Mahesh Kankatala)
July 30, 2024, 5:40am
9
Okay @myakkhaing
Try the below expression in For each activity,
strEmailAddress.Cast(Of System.Text.RegularExpressions.Match)().Select(Function(X) X.ToString().ToLower().Trim).ToList().GroupBy(Function(Y) Y.ToString()).Select(Function(grp) grp.First()).toarray()
Hope it helps!!
1 Like
@mkankatala
Thank you very much. It perfectly worked.
1 Like
mkankatala
(Mahesh Kankatala)
July 30, 2024, 7:41am
11
It’s my pleasure… @myakkhaing
Happy Automation!!
1 Like
system
(system)
Closed
August 2, 2024, 7:42am
12
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.