我可以在 notepad++ 和其他文本编辑器中过滤和排序电子邮件 ID 吗?

我可以在 notepad++ 和其他文本编辑器中过滤和排序电子邮件 ID 吗?

我有一个 txt 文件,里面有大约 20000 个电子邮件 ID。我想分别了解来自 gmail、yahoo、ymail、googlemail、aol、live、自定义域、gmx 和其他临时电子邮件的电子邮件数量。此外,我还需要过滤它们并按电子邮件域顺序对它们进行排序。如何使用 notepad++ 做到这一点?如果有任何其他程序比 notepad ++ 更容易做到这一点,请也参考它。

答案1

我会在 Excel 中执行此操作

将列表复制到 Excel 的 A 列。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

上述代码假设你的原始列表全部为小写

前后屏幕截图,显示提供商发生的情况

在此处输入图片描述

在此处输入图片描述

相关内容