Retrouver un caractere alphabetique dans une chaine de caractere [Résolu]

Messages postés
6
Date d'inscription
vendredi 17 octobre 2008
Dernière intervention
28 janvier 2011
- - Dernière réponse : GrayDog
Messages postés
6
Date d'inscription
vendredi 17 octobre 2008
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,
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
14385
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
17 février 2019
153
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
14385
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
17 février 2019
153
0
Merci
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
Commenter la réponse de NHenry
Messages postés
6
Date d'inscription
vendredi 17 octobre 2008
Dernière intervention
28 janvier 2011
0
Merci
Au faite je cherche un truc dans ce genre

If Mid(s, i, 1) Like "[a-zA-Z0-9]" Then
Commenter la réponse de GrayDog
Messages postés
14385
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
17 février 2019
153
0
Merci
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
Commenter la réponse de NHenry
Messages postés
14385
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
17 février 2019
153
0
Merci
Ou sinon, voir les RegEx, mais je ne m'y connais pas assez.
Commenter la réponse de NHenry
Messages postés
6
Date d'inscription
vendredi 17 octobre 2008
Dernière intervention
28 janvier 2011
0
Merci
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
Commenter la réponse de GrayDog
Messages postés
6
Date d'inscription
vendredi 17 octobre 2008
Dernière intervention
28 janvier 2011
0
Merci
Merci, c'est cool de ta part tout ses conseils
Commenter la réponse de GrayDog

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.