[VB.Net] Expressions régulières

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.
Apr 26, 2011
1,315
2
944
26
In my home
Discord
brokeos
Salut, j'ai un ptit soucis concernant un projet !
J'aimerais savoir comment je fait pour récupérer tout les mots qui ne sont pas égales à une liste défini !
genre: blabla,lol,cg3 ...

Merci d'avances !
 
Apr 26, 2011
1,315
2
944
26
In my home
Discord
brokeos
En gros ta une liste de mot (pipi, caca ...)
et l'utilisateur entre d'autres mots, ba jveux les traités x)
 

ragnarock

Membre actif
Mar 22, 2010
194
0
917
Salut,

Tu veux absolument utiliser des Regex ?

Je t'ai fais un exemple sans si ça te vas quand même.
Tu parles de mots, donc pour l'exemple j'utilise un espace comme séparateur. Si il n'y a pas forcément de séparateur ça complique un peu les choses ...

Code:
    ReadOnly Defined() As String = {"salut", "test", "etc"}

    Private Function GetUndefinedWords(ByVal phrase As String) As List(Of String)
        Dim splitted = phrase.Split(New String() {" ", ", ", ". "}, StringSplitOptions.RemoveEmptyEntries)
        Return splitted.Where(Function(word)
                                             Return Not Defined.Contains(word.ToLower())
                                         End Function).ToList()
    End Function


Et tu l'utilise comme ça :

Code:
Dim undefinedWords = GetUndefinedWords("Salut, ceci est un test") 'qui va retourner un tableau qui contient "ceci", "est" et "un"


Au passage, qu'est ce que c'est moche des fonctions anonymes en Vb.net haha


Edit: pour créer des regex, je te conseille d'installer RegexBuddy si tu ne l'as pas déjà
 
Last edited:
Apr 26, 2011
1,315
2
944
26
In my home
Discord
brokeos
Salut, j'ai trouvé comment faire en bidouillant :

Code:
            Dim whitevalue As Int32 = sourceCode.IndexOf("")
            If whitevalue > -1 Then
                tokens.Add(New ColorToken(offset + whitevalue, endPos - offset - whitevalue, Color.White, Color.Empty))
            End If
 
Status
Not open for further replies.