Purger une chaine de caractere de ses espaces inutiles

Soyez le premier à donner votre avis sur cette source.

Vue 14 295 fois - Téléchargée 328 fois

Description

suppression dans une string de tous les espaces superflus ; par exemple : " Bonjour tout le monde ! " devient "Bonjour tout le monde !"

Source / Exemple :


'Le text non purge est dans la variable text1
'Le text purge des espaces inutiles est dans
'la variable newtext1.

Sub purger()
newtext1 = ""
cardel = 0
For i = 1 To Len(Text1)
lettre = Right(Text1, 1)
    If (lettre = " " And cardel = 0) Then
            cardel = 1
    ElseIf (lettre = " " And cardel = 1) Then
        lettre = ""
    Else
        cardel = 0
    End If
newtext1 = lettre & newtext1
Text1 = Left(Text1, Len(Text1) - 1)
Next
newtext1 = Trim(newtext1)
End Sub

Conclusion :


Il suffit ensuite de faire ce que l'on souhaite de la variable "newtext1"

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

fatimazahra86
Messages postés
16
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
17 juin 2009
-
slt
j'ai essaié de reutiliser votre code avec une richtext au lieu d'un textbox.
ca marche,
mais qd je lit un fichier ds le richtext la fonction ne suprime pas le dernièr espace de chaque lignes.
je vx savoir ou se trouve le pb?
c urgen
merci
jaguar4you
Messages postés
1
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
26 février 2008
-
eske on peu travailé just avec left , len ,right c si possibl aid moi c urgent c un exam plz le plusto possibl
rambc
Messages postés
224
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
29 mars 2009
-
Pour éviter un bug si TexteAModifier est une suite d'espaces.


Sub EnleverDesDoublesEspaces()

Dim TexteAModifier As String
TexteAModifier = " Bonjour tout le monde ! "

Do While InStr(1, TexteAModifier, " ")
TexteAModifier = Replace(TexteAModifier, " ", " ")
Loop

If TexteAModifier = " " Then
TexteAModifier = ""
Else
If Mid(TexteAModifier, 1, 1) = " " Then
TexteAModifier = Right(TexteAModifier, Len(TexteAModifier) - 1)
End If

If Mid(TexteAModifier, Len(TexteAModifier), 1) = " " Then
TexteAModifier = Left(TexteAModifier, Len(TexteAModifier) - 1)
End If
End If

MsgBox "||" + TexteAModifier + "||"

End Sub
rambc
Messages postés
224
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
29 mars 2009
-
Sub EnleverDesDoublesEspaces()

Dim TexteAModifier As String
TexteAModifier = " Bonjour tout le monde ! "

Do While InStr(1, TexteAModifier, " ")
TexteAModifier = Replace(TexteAModifier, " ", " ")
Loop

If Mid(TexteAModifier, 1, 1) = " " Then
TexteAModifier = Right(TexteAModifier, Len(TexteAModifier) - 1)
End If

If Mid(TexteAModifier, Len(TexteAModifier), 1) = " " Then
TexteAModifier = Left(TexteAModifier, Len(TexteAModifier) - 1)
End If

MsgBox "||" + TexteAModifier + "||"

End Sub
erreurs404
Messages postés
117
Date d'inscription
lundi 23 octobre 2000
Statut
Membre
Dernière intervention
12 août 2009
-
en effet c'est plus simple en faisant Replace(string, " ", "")

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.