Retrouver un caractere alphabetique dans une chaine de caractere

Résolu
GrayDog Messages postés 6 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 28 janvier 2011 - 24 janv. 2011 à 19:30
GrayDog Messages postés 6 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 28 janvier 2011 - 28 janv. 2011 à 09:35
Bonjour,

Pouvez vous me donner un coup de main en vb. une ancienne version. framework1.1 ou 1.2 je crois.

j'ai une chaine de caractere numerique ou alphanumerique, et j'aimerais savoir si cette chaine contient ou pas 1 ou plusieurs caracteres alphabetique. Pas un caractere en particulier mais juste si il en contient un.

Merci,

7 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
27 janv. 2011 à 21:00
Bonjour,

En .NET, évite d'utiliser l'assembly Microsoft.VisualBasic :
Mid -> MaChaine.SubString
Replace -> MaChaine.Replace
UCase -> MaChaine.ToUpper

Pour un peu plus d'optimisation, tu peux mémoriser dans une variable le caractère utilisé, ça évitare de faire 6 appels à SubString.

Mon site
3
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
24 janv. 2011 à 19:43
Bonjour,

C'est soit 1.0 (2002) ou 1.1(2003), ensuite, on passe à 2.0(2005).

Sinon, je pense qu'avec MaChaine.IndexOf ou au pire, faire tout par une boucle For et MaChaine.SubString.

Mon site
0
GrayDog Messages postés 6 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 28 janvier 2011
25 janv. 2011 à 14:45
Au faite je cherche un truc dans ce genre

If Mid(s, i, 1) Like "[a-zA-Z0-9]" Then
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
25 janv. 2011 à 18:48
Bonjour,

Ne marques "Réponse acceptée" que si la réponse résout ton pb.

Proposition :
for i As Integer=0 to s.Length-1
If "0123456789ab...XYZ".Contains(s.SubString(i,1)) Then
'Ok
Else
'Nok
End If
Next

Mon site
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
25 janv. 2011 à 18:48
Ou sinon, voir les RegEx, mais je ne m'y connais pas assez.
0
GrayDog Messages postés 6 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 28 janvier 2011
26 janv. 2011 à 09:59
Ahhh cool finalement j'ai fais comme ca et ca marche.... tu penses qu'on optimiser le code un peu plus...

OI_type = "01"
for i = 1 To len(num_employe)

if mid(num_employe,i,1) >="A" And mid(num_employe,i,1) <="Z" then
num_employe = num_employe
OI_type = "A1"
end if

if mid(num_employe,i,1) >="a" And mid(num_employe,i,1) <="z" then
num_employe = replace(num_employe,mid(num_employe,i,1),Ucase(mid(num_employe,i,1)))
OI_type = "A1"
end if

Next
0
GrayDog Messages postés 6 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 28 janvier 2011
28 janv. 2011 à 09:35
Merci, c'est cool de ta part tout ses conseils
0
Rejoignez-nous