Dernier mot d'une chaine [Résolu]

elmayor1983 9 Messages postés vendredi 15 avril 2005Date d'inscription 8 mars 2006 Dernière intervention - 23 août 2005 à 18:03 - Dernière réponse : elmayor1983 9 Messages postés vendredi 15 avril 2005Date d'inscription 8 mars 2006 Dernière intervention
- 24 août 2005 à 09:15
petit problème !!!
en vb6 comment puis-je connaitre le dernier mot d'une chaine de caractere

merci d'avance !!!
Afficher la suite 

7 réponses

Meilleure réponse
Zlub 815 Messages postés mercredi 11 octobre 2000Date d'inscription 29 septembre 2010 Dernière intervention - 23 août 2005 à 22:26
3
Merci
Salut,

Jack : Joli pour le code en une ligne ... mais pas super d'appeler deux fois split (qui retourne le même résultat)

Pas enorme mais, petit soucis si chaine vide... désolé



donc



Avec split :



Dim mots() As String

mots = Split(Chaine, " ")



Dim indiceDernierMot As Integer

indiceDernierMot = UBound(mots)



If indiceDernierMot >= 0 Then

DernierMot = mots(indiceDernierMot)

Else

DernierMot = Chaine

End If


<hr size="2" width="100%">

Avec InStrRev quasi même solution que crenaud76 en moins de lignes



Dim dernierEspace As Integer



dernierEspace = InStrRev(Chaine, " ")

DernierMot = IIf(dernierEspace > 0, Mid$(Chaine, dernierEspace + 1), Chaine)




++

Zlub

Merci Zlub 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Meilleure réponse
Zlub 815 Messages postés mercredi 11 octobre 2000Date d'inscription 29 septembre 2010 Dernière intervention - 23 août 2005 à 22:30
3
Merci
Salut,

Ouups ... J'ai
posté un peu vite, vu qu'il ne faut pas tenir compte des espaces en fin
de chaîne... donc nettoyer la chaîne avec un RTrim pour les supprimer
avant de chercher le dernier mot:





Dim dernierEspace As Integer



Chaine = RTrim$(Chaine) ' suppimer les espaces en fin de chaîne

dernierEspace = InStrRev(Chaine, " ")

DernierMot = IIf(dernierEspace > 0, Mid$(Chaine, dernierEspace + 1), Chaine)

++

Zlub

Merci Zlub 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

crenaud76 4172 Messages postés mercredi 30 juillet 2003Date d'inscription 9 juin 2006 Dernière intervention - 23 août 2005 à 18:40
0
Merci
Si l'on admet que ce sont TOUJOURS des espaces qui séparent les mots dans ta phrase, voici un bout de code ...

Dim Phrase As String = "No more war"
Dim DernierMot As String
Dim i As Long

i = InstrRev(Phrase," ")
If i <> 0 Then
DernierMot = Mid$(Phrase, i + 1)
Else
DernierMot = Phrase
End If

Christophe
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 23 août 2005 à 19:23
0
Merci
Salut
Toujours sous condition que ce soit l'espace le séparateur :
DernierMot = Split(Chaine, " ")(UBound(Split(Chaine, " ")))
(joli, non ?)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 23 août 2005 à 23:06
0
Merci
Bien joué ZLut
J'aime beaucoup la clarté de tes explications, ça change de l'habitude !
Merci

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Zlub 815 Messages postés mercredi 11 octobre 2000Date d'inscription 29 septembre 2010 Dernière intervention - 23 août 2005 à 23:20
0
Merci
Salut,

De rien ... autant être clair sinon ça sert pas à grand chose ...

euh ... par contre moi c'est Zlub ;)

++

Zlub
elmayor1983 9 Messages postés vendredi 15 avril 2005Date d'inscription 8 mars 2006 Dernière intervention - 24 août 2005 à 09:15
0
Merci
merci à tous !!

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.