Classe pour l'utilisation d'expressions régulières

Soyez le premier à donner votre avis sur cette source.

Snippet vu 21 653 fois - Téléchargée 19 fois

Contenu du snippet

J'ai eu besoin d'utiliser des expressions régulières (cela permet un gain de lignes codes) donc voici la classe qui en résulte

Source / Exemple :


Public Class ExpRegulieres
        Public Shared Function Replace(ByVal MaChaine As String, ByVal MonExpReg As String, ByVal CharRemplace As String) As String
            Dim MaRegex As New System.Text.RegularExpressions.Regex("")
            Dim tmpTxt As String = MaChaine & ""
            tmpTxt = Regex.Replace(tmpTxt, MonExpReg, CharRemplace)
            MaRegex = Nothing
            Return tmpTxt
        End Function

        Public Shared Function Split(ByVal MaChaine As String, ByVal MonExpReg As String) As Array
            Dim MaRegex As New System.Text.RegularExpressions.Regex("")
            Dim table_tmpTxt As Array
            table_tmpTxt = Regex.Split(MaChaine, MonExpReg)
            MaRegex = Nothing
            Return table_tmpTxt
        End Function

        ''' <summary>
        ''' Renvoi un tableau du match de l'expression reguliere
        ''' </summary>
        ''' <param name="MaChaine">chaine a traité</param>
        ''' <param name="MonExpReg">Expression régulière a appliquer</param>
        ''' <returns>Tableau des string de résultat</returns>
        ''' <remarks></remarks>
        Public Shared Function Matches(ByVal MaChaine As String, ByVal MonExpReg As String) As ArrayList
            Dim table_tmpTxt As New ArrayList
            Dim MaRegExpMatch As System.Text.RegularExpressions.MatchCollection

            MaRegExpMatch = Regex.Matches(MaChaine, MonExpReg, RegexOptions.IgnoreCase)
            For i As Integer = 0 To MaRegExpMatch.Count - 1
                table_tmpTxt.Add(MaRegExpMatch(i).Value.Trim.Replace("""""", """"))
            Next
            Return table_tmpTxt
        End Function

        ''' <summary>
        ''' renvoi la chaîne correspondant à l'expression régulière
        ''' </summary>
        ''' <param name="MaChaine">chaine a traité</param>
        ''' <param name="MonExpReg">Expression régulière a appliquer</param>
        ''' <returns>le string résultat</returns>
        ''' <remarks></remarks>
        Public Shared Function Match(ByVal MaChaine As String, ByVal MonExpReg As String) As String
            Dim MaRegex As New System.Text.RegularExpressions.Regex("")
            Regex.Match(MaChaine, MonExpReg, RegexOptions.IgnoreCase)
            Return Regex.Match(MaChaine, MonExpReg, RegexOptions.IgnoreCase).Value.Replace("""", "")
        End Function

    End Class

Conclusion :


Pour rappel :

REPLACE -> cette méthode remplace dans une chaîne les caractères (de cette même chaîne) validés par l'expression régilière par une autre chaîne - elle retourne une chaîne

SPLIT -> Cette méthode sert à découper une chaîne de caractères en fonction d?un séparateur, elle retourne un tableau

MATCH -> Recherche dans une chaîne d'entrée la première occurrence d'une expression régulière et la renvoi
MATCHES -> Recherche dans une chaîne d'entrée toutes les occurrences d'une expression régulière et retourne toutes les correspondances exactes comme si Match avait été appelé plusieurs fois.

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de cs_saizonou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.