IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

informer

REPLACE RegEx - Remplacer des caractères différents par un même caractère en un seul appel

Noter ce billet
par , 18/01/2022 à 09h59 (1590 Affichages)
Citation Envoyé par informer Voir le message
Bonjour à tous,

En vba, il existe une fonction native REPLACE(expression, find, replace, [ start, [ count, [ compare ]]]) Voir ici pour plus d'information

Toutefois, cette fonction ne peut remplacer qu'un seul caractère à la fois. donc dans l'éventualité d'un remplacement de différents caractères par un même caractère, rien de mieux que l'utilisation du RegEx. Le code suivant permet cette action!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Public Function fRegExReplace(psValue As String, psPattern As String, psBy as string) As String

    Dim oRegExp As New regexp
    Dim sPattern As String,sValueCleaned As String
    
    If Nz(psValue) = "" Then GoTo Exit_
    
    'Set oRegExp = CreateObject("vbscript.regexp")
    
    With oRegExp
        .Global = True
        .MultiLine = True
        .IgnoreCase = False
        .Pattern = psPattern
        
        sValueCleaned = .Replace(Nz(psValue), psBy)
    
    End With
    
    fRegExReplace = sValueCleaned

Exit_:

    Set oRegExp = Nothing

End Function
Exemple de remplacement en une seule passe des caractères
  • ESPACES
  • [
  • ]

par VIDE

Code : Sélectionner tout - Visualiser dans une fenêtre à part
sTextCleaned = fRegExReplace(sFieldName, "\s|\[|\]","")

Envoyer le billet « REPLACE RegEx - Remplacer des caractères différents par un même caractère en un seul appel » dans le blog Viadeo Envoyer le billet « REPLACE RegEx - Remplacer des caractères différents par un même caractère en un seul appel » dans le blog Twitter Envoyer le billet « REPLACE RegEx - Remplacer des caractères différents par un même caractère en un seul appel » dans le blog Google Envoyer le billet « REPLACE RegEx - Remplacer des caractères différents par un même caractère en un seul appel » dans le blog Facebook Envoyer le billet « REPLACE RegEx - Remplacer des caractères différents par un même caractère en un seul appel » dans le blog Digg Envoyer le billet « REPLACE RegEx - Remplacer des caractères différents par un même caractère en un seul appel » dans le blog Delicious Envoyer le billet « REPLACE RegEx - Remplacer des caractères différents par un même caractère en un seul appel » dans le blog MySpace Envoyer le billet « REPLACE RegEx - Remplacer des caractères différents par un même caractère en un seul appel » dans le blog Yahoo

Tags: regex, regexp, replace, vba
Catégories
Sans catégorie

Commentaires