IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Parcourir une chaine de caractère


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 124
    Par défaut Parcourir une chaine de caractère
    Bonjour,

    Je cherche quelques objects de manipulation de chaine en vbs

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    machaine = "analyse d'une chaine de caractere"
    une fonction qui permettrai de remplacer tous les espaces par un _

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    machaine = "analyse_d'une_chaine_de_caractère"
    La fonction instr permet uniquement de trouver une seule occurence malheureusement et ne permet pas le replace directement.

    Je cherche également une fonction qui permet de mettre en majuscule la premiere lettre d'un mot. Car Ucase met tous les caractères en majuscules.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    machaine = "Analyse D'une Chaine De Caractère"
    Si rien de tout cela ne vous parait possible, je cherche tout simplement à parcourir une chaine caractère par caractère.

    Merci par avance.
    Julien

  2. #2
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    La fonction Replace n'existe pas en VbScript ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Par défaut
    bonjour,

    je pense que tu peux t'orienté vers les regex
    en effet les expression reguliere permet de faire plien de truc ... comme remplacer des caractere par d'autre

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    text1"<ton caractere recherché>"
    Set re = New RegExp
    re.Pattern = 
    re.Global = True
    text2 = re.Replace(<ta chaine de caractere>, <caractere de remplacement>)
    msgbox text1 &"=>"& text2


    voila le tour est joué

    - xanatox -

  4. #4
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,

    la fonction Replace existe en vbscript.

    Sinon, pour mettre la premiere lettre de chaque mot en majuscule et les autres en minuscules, je fais comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    arrTemp = split(machaine, " ")
    machaine = ""
    For j = Lbound(arrTemp) To Ubound(arrTemp)
    	machaine = machaine + UCase(Left(arrTemp(j), 1)) + LCase(Right(arrTemp(j), Len(arrTemp(j))-1)) + " "
    Next
    machaine = RTrim(machaine)
    voilà

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 124
    Par défaut
    C'est tres joli ta facon de faire et je suis un peu dégouté de ne pas etre venu plus tot car je m'en suis également sorti pour passer en majuscule mais c'est bien plus complexe.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
        	While Out <> 1 							'temp qu'on a pas mis toutes les majuscules
        	Espace = InStr (Espace,monfichiertemp, " ") 			'recherche du premier espace
     
        	If Espace = 0 Then 						'si pas d'espace c'est qu'on est sur le premier caractere
    		CarMin = Mid (monfichiertemp, 1, 1) 			'on recupere le premier caractere
    		Out = 1 						' si pas d'espace on demande au programme de sortir
        	Else
        		CarMin = Mid (monfichiertemp, Espace, 2) 		'sinon on recupere l'espace plus le caractere suivant
    	End If
     
        	CarMaj = UCase (CarMin) 					'on passe en majuscule le caractere
     
        	If CarMaj <> CarMin Then    		
     		monfichiertemp = Replace(monfichiertemp, CarMin, CarMaj, 1, 1, 1) 'si le caractère est passé en majuscule alors on le remplace la chaine
     	End If 
     
        	If Espace <> 0 Then 
        		Espace = Espace +1					'on incrémente espace pour que dans la boucle il aille chercher l'espace suivant
        	End If 
        	Wend

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. parcourir une chaine et extraire depuis un caractère
    Par Dsphinx dans le forum Langage
    Réponses: 4
    Dernier message: 12/03/2007, 15h16
  3. parcourir une chaine de caractères
    Par imsse dans le forum C#
    Réponses: 15
    Dernier message: 21/02/2007, 13h55
  4. [String] Parcourir une chaine de caractères
    Par Samanta dans le forum Langage
    Réponses: 13
    Dernier message: 20/05/2005, 10h27
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo