RegEx: Comment extraire toutes les adresses e-mail des fichiers TXT ou des chaînes de caractères?
Friday, September 17, 2021Maintenant, vous avez un fichier texte mélangé avec des adresses e-mail et des chaînes de texte, et vous voulez extraire les adresses e-mail. Dans cet article, je vais vous montrer comment extraire toutes les adresses e-mail des fichiers TXT ou des chaînes de caractères en utilisant une expression régulière.
Sommaire
Option 3 Expression régulière (RegEx)
=TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ",FIND("@",A1))-1)," ", REPT(" ",LEN(A1))),LEN(A1))).
L'utilisation de cette formule pour extraire des adresses électroniques est frustrante si vous avez du mal à utiliser Excel. Excel a des règles strictes en matière de commande. Il arrive souvent que vous copiez et collez une formule complexe, mais qu'Excel ne l'accepte pas si vous ne tapez pas l'expression dans la cellule. Un autre problème lié à la formule Excel est que vous devez passer un certain temps à déboguer l'expression, surtout si elle est longue.
Étape 1 : Appuyer sur les touches " ALT+F11 ", ce qui vous amènera à la fenêtre Microsoft Visual Basic for the Application.
Étape 2 : Cliquer sur Insertion > Module, copier et coller le texte suivant dans la fenêtre Module :
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
|
Étape 3 : Appuyer sur "Ok" pour poursuivre le processus.
Étape 4 : Sélectionner la plage que vous souhaitez appliquer au code ci-dessus. Dans ce cas, la plage A1 : A4
Option 3: Expression régulière (RegEx)
L'expression régulière est très difficile à apprendre si vous n'avez aucune connaissance en programmation. Cependant, vous pouvez appliquer cette simple expression pour filtrer l'adresse électronique, puis extraire les données.
[a-zA-Z0-9-_]{1,}@[a-zA-Z0-9-_]{1,}.[a-zA-Z]{1,}
Octoparse dispose d'un outil RegEx intégré, qui est très pratique pour nettoyer les données extraites. Pour les non professionnels de l'informatique, le fait de ne pas avoir à apprendre python est un atout supplémentaire. Avec l'outil de scraping Web Octoparse, il est désormais possible d'extraire, de nettoyer et d'exporter des données.
Lire la présentation du client Octoparse : Transformer des pages web en pistes de vente
Étape 1: Ouvrir l'application Octoparse
Étape 2 : Copier la chaîne de texte dans le texte source. Dans ce cas, la chaîne de texte est:
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
Étape 3: Copier et coller l'expression dans la case "Expression régulière".
Étape 4: Choisir l'option "Match All" en bas, et cliquer sur "Match".
Auteur: Ashley Ng Ashley est une passionnée de données et une blogueuse passionnée qui possède une expérience pratique du scraping web. Elle s'attache à capturer des données Web et à les analyser de manière à fournir aux entreprises des informations exploitables. Lisez ses blogs ici pour découvrir des conseils pratiques et des applications sur l'extraction de données Web. Si desea ver el contenido en español, por favor haga clic en: RegEx: Cómo Extraer Todas Las Direcciones de Email de Cadenas o Archivos TXT También puede leer artículos de web scraping en el sitio web oficial |
La génération de pistes de vente en utilisant le web scraping
Un guide complet de Web Scraping API pour l'extraction de données
RegEx : comment extraire tous les numéros de téléphone des chaînes de caractères?
25 Façons de Développer Vos Activités avec le Web Scraping
Le Moyen simple d'extraction des données de sites E-commerce
Posts les plus populaires
- 1 . Exporter les résultats de recherche de Google Maps vers Excel
- 2 . Scraping TripAdvisor pour obtenir des données d'hôtels/restaurants facilement
- 3 . Utiliser Google Sheets pour web scraping simple (mise à jour 2023)
- 4 . 5 meilleurs outils pour scraper Google Maps en 2023
- 5 . 10 Meilleur Web Scraper Open Source en 2023
Posts par sujet