Problème avec opérateur LIKE
Bonjour
Est-ce que quelqu'un voit pourquoi l'instruction:
Code:
MesLign(i).Ligne Like "*<-[!*]*[!/]*."
donne True lorsque MesLign(i).Ligne a pour valeur : "M832,M32<-V1,M33/256.".
Pour moi le [!/] devrait m'éliminer ce cas.
Merci
probleme avec Like,analyse de chaine
bonjour sibama
J'ignore la fonctionnalite mais il faut faire à la methode d'analyse du Like,c.à.d au modele utilise dans le pattern lors de l'analyse.
Je veux dire quelle est la partie du pattern utilise par Like lors de l'analyse de la chaine pour pouvoir utiliser les possibilites disponibles.
le code transmis par tes soins avec les observations:
Code:
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
'Symboles reserves de like et significations
'? Tout caractère unique
'* Zéro ou plusieurs caractères
'# Tout chiffre (0-9)
'[ charlist ] Tout caractère présent dans charlist
'[! charlist ] Tout caractère absent(caractere à exclure)
'Si un des symboles reserves ci-dessus figure
'dans le Modele de chaine à tester le mettre entre crochet
Option Compare Text
Public Class frmLike2
Private Sub btnTestSlash_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTestSlash.Click
'Test 1
Me.TextBox1.Clear()
Me.TextBox2.Clear()
Dim testCheck As Boolean = False
'1er cas :slash inverse exclu
Dim strPattern1 As String = "*<-[!*]*[!/]*."
Dim narutoStr As String = "M832,M32<-V1,M33/256."
'Celle-ci est analyse suivant * qui
'comprend tout caractere y / a moins de le changer
'en *. ce qui permet de le repetition du modele
'Doit Renvoie true
testCheck = narutoStr Like strPattern1
If testCheck Then
Me.TextBox1.Text = Me.TextBox1.Text & narutoStr
Else
Me.TextBox2.Text = Me.TextBox2.Text & narutoStr
End If
End Sub
Private Sub btnTestAster_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTestAster.Click
'Test 2
Me.TextBox1.Clear()
Me.TextBox2.Clear()
Dim testCheck As Boolean = False
'2er cas :aster exclu
Dim strPattern1 As String = "*<-[!*]*[!/]*."
Dim narutoStr As String = "M832,M32<-*.256.V1,M33."
'Celle-ci est analyse suivant <-[*] qui exclut caractere *
'Doit Renvoie false
testCheck = narutoStr Like strPattern1
If testCheck Then
Me.TextBox1.Text = Me.TextBox1.Text & narutoStr
Else
Me.TextBox2.Text = Me.TextBox2.Text & narutoStr
End If
End Sub
Private Sub btnTestChaine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTestChaine.Click
'Test 3
Me.TextBox1.Clear()
Me.TextBox2.Clear()
Dim testCheck As Boolean = False
'3er cas :chaine conforme
Dim strPattern1 As String = "*<-[!*]*[!/]*."
Dim narutoStr As String = "M832,M32<-V1,M33."
'Celle-ci est analyse suivant *.
'il suffit d'enlever le premier * pour s'en rendre compte
'Doit Renvoie true
testCheck = narutoStr Like strPattern1
If testCheck Then
Me.TextBox1.Text = Me.TextBox1.Text & narutoStr
Else
Me.TextBox2.Text = Me.TextBox2.Text & narutoStr
End If
End Sub
End Class |
puisse cela aider.....
bon code.....