У меня есть текстовый файл, который имеет около 20000 идентификаторов электронной почты. Я хочу узнать количество адресов электронной почты отдельно от gmail, yahoo, ymail, googlemail, aol, live, custom domain, gmx и других временных писем. А также мне нужно отфильтровать их и отсортировать их в порядке почтового домена. Как я могу сделать это с помощью блокнота ++? Если любая другая программа делает это намного проще, чем notepad ++, пожалуйста, обращайтесь и к этому.
1 ответ
1
Я бы сделал это в Excel
Скопируйте список в столбец A Excel. Excel позволит вам сортировать (и при необходимости удалять дубликаты).
Оттуда этот макрос сделает это
Sub DoTheThing()
Range("C:D").Cells.ClearContents
Dim row As Integer
row = 1
Do While (Range("A" & row).Value <> "")
Dim emails() As String
emails = Split(Range("A" & row).Value, "@")
Dim domain As String
Dim i As Integer
'domain = emails(1) commented out. Use this line if you want to include .com or .net
domain = Split(emails(1), ".")(0) 'use this line if you want just the provider, such as GMAIL or Yahoo
Dim resultsRow As Integer
resultsRow = 1
Dim resultExists As Boolean
resultExists = False
Do While (Range("C" & resultsRow).Value <> "")
If (Range("C" & resultsRow).Value = domain) Then
Range("D" & resultsRow).Value = Range("D" & resultsRow).Value + 1 ' add 1
resultExists = True
End If
resultsRow = resultsRow + 1
Loop
If (resultExists = False) Then
Range("C" & resultsRow).Value = domain
Range("D" & resultsRow).Value = 1
End If
row = row + 1
Loop
End Sub
Код выше предполагает, что ваш первоначальный список состоит из строчных букв
Снимки экрана до и после, показывающие случаи провайдера
До
После