undefined
Blog > Datenerfassung > Post

RegEx: Extrahieren aller E-Mail-Adressen aus TXT-Dateien oder Strings

Sunday, September 26, 2021

 

In diesem Artikel zeige ich Ihnen, wie Sie mithilfe eines regulären Ausdrucks alle E-Mail-Adressen aus TXT-Dateien oder Zeichenketten extrahieren können. 

 

Inhaltsverzeichnis

Option 1 Excel Formel

Option 2 Excel VBA Code

Option 3 Regulärer Ausdruck

 

 

Option#1: Excel Formel  

=TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ",FIND("@",A1))-1)," ", REPT(" ",LEN(A1))),LEN(A1))).

 

Die Verwendung dieser Formel zum Extrahieren von E-Mail-Adressen ist frustrierend, wenn Sie in Excel unerfahren sind. Excel hat strenge Regeln für die Reihenfolge. Oft kopiert man eine komplexe Formel und fügt sie ein, aber Excel akzeptiert sie nicht, wenn man den Ausdruck nicht in die Zelle eingibt. Ein weiteres Problem, das mit der Excel-Formel verbunden ist, besteht darin, dass Sie eine gewisse Zeit damit verbringen müssen, den Ausdruck zu debuggen, insbesondere wenn es sich um einen langen Ausdruck handelt.

 

 

Option#2: Excel VBA Code

 

 

 

Schritt 1: Drücken Sie die Tasten "ALT+F11", und Sie gelangen zum Fenster Microsoft Visual Basic for the Application

 

Schritt 2: Klicken Sie auf Einfügen > Modul, kopieren Sie den folgenden Text und fügen Sie ihn in das Modulfenster ein:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Sub ExtractEmail()
'Update 20130829
Dim WorkRng As Range
Dim arr As Variant
Dim CharList As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
arr = WorkRng.Value
CheckStr = "[A-Za-z0-9._-]"
For i = 1 To UBound(arr, 1)
    For j = 1 To UBound(arr, 2)
        extractStr = arr(i, j)
        outStr = ""
        Index = 1
        Do While True
            Index1 = VBA.InStr(Index, extractStr, "@")
            getStr = ""
            If Index1 > 0 Then
                For p = Index1 - 1 To 1 Step -1
                    If Mid(extractStr, p, 1) Like CheckStr Then
                        getStr = Mid(extractStr, p, 1) & getStr
                    Else
                        Exit For
                    End If
                Next
                getStr = getStr & "@"
                For p = Index1 + 1 To Len(extractStr)
                    If Mid(extractStr, p, 1) Like CheckStr Then
                        getStr = getStr & Mid(extractStr, p, 1)
                    Else
                        Exit For
                    End If
                Next
                Index = Index1 + 1
                If outStr = "" Then
                    outStr = getStr
                Else
                    outStr = outStr & Chr(10) & getStr
                End If
            Else
                Exit Do
            End If
        Loop
        arr(i, j) = outStr
    Next
Next
WorkRng.Value = arr
End Sub

 

Schritt 3: Drücken Sie "Ok", um mit dem Vorgang fortzufahren.

 

Schritt 4: Wählen Sie den Bereich, den Sie auf den obigen Code anwenden möchten. In diesem Fall den Bereich A1: A4

 

 

 

Option#3: Regulärer Ausdruck

 

Der reguläre Ausdruck kann schwer zu erlernen sein, wenn Sie keine Programmierkenntnisse haben. Sie können jedoch direkt diesen einfachen Ausdruck kopieren, um die E-Mail-Adresse zu filtern und dann die Daten zu extrahieren. 

[a-zA-Z0-9-_]{1,}@[a-zA-Z0-9-_]{1,}.[a-zA-Z]{1,}

 

Octoparse verfügt über ein eingebautes RegEx-Tool, mit dem sich die extrahierten Daten einfach bereinigen lassen. Besonders für die Menschen, die keine Programmierkenntnisse haben, ist das Tool sehr praktisch, denn sie müssen keine Zeit verbringen, um Python zu lernen. Octoparse ermöglicht es Ihnen, Datenextraktion, Datenbereinigung und Datenexport in einem Tool zu erledigen.

Lesen Sie Octoparses Kundengeschichte: Turn web pages into sales leads

 

 

Schritt 1: Octoparse öffnen

Schritt 2: Kopieren Sie die Textzeichenfolge unter Quelltext. In diesem Fall ist die Textzeichenfolge:

This email address is valid: web@email.net and this email address is not valid web@email. Same as what_ever@public.com is a valid email address and address test@test. is not valid! OCTOPARSE@test.com is also valid

Schritt 3Kopieren Sie den Ausdruck und fügen Sie ihn in das Feld "Regulärer Ausdruck" ein.

Schritt 4Wählen Sie unten die Option "Match All", und klicken Sie auf "Match".

 

 

Relative Artikel

 

Leadgenerierung mit Web Scraping

Verwenden RegEx-Tool zum Passen der HTML-Tags

RegEx: Extrahieren aller Telefonnummern aus Zeichenketten 

10 beste Preisüberwachungstools im Jahr 2021

11 beste Amazon Verkäufer-Tools für Einsteiger im Jahr 2021

 

 

Laden Sie Octoparse herunter, um mit Web-Scraping zu beginnen, oder kontaktieren Sie uns
für die Fragen über Web Scraping!

Kontaktieren Sie uns Herunterladen
btnImg
Diese Website verwendet Cookies um Ihnen ein besseres Internet-Erlebnis zu ermöglichen. Lesen Sie wie wir Cookies verwenden und Sie können sie kontrollieren, indem Sie auf Cookie-Einstellungen klicken. Wenn Sie die Website weiter nutzen, akzeptieren Sie unsere Verwendung von Cookies.
Akzeptieren Ablehnen