OVH Cloud OVH Cloud

trim et replace

2 réponses
Avatar
Pascal
bonjour

J'essaie d'enlever tous les espaces (y compris les insécables) d'une chaine
caractères mais sans succès...

j'ai essayer Label5.trim()
puis
' enlever les espaces inutiles entre chaque mot

With Label5

Do While .Text <> Replace$(.Text, " ", "")

.Text = Replace$(.Text, " ", "")

Loop

End With

qui enlève seulement les espaces mais pas les autres blancs.... Quelqu'un a
t il une fonction qui fasse tout ça ? J'ai cherché sur le net sans succès.

merci de votre aide.

help !


http://www.scalpa.info

2 réponses

Avatar
Luigi
Pascal ha scritto:

bonjour

J'essaie d'enlever tous les espaces (y compris les insécables) d'une ch aine
caractères mais sans succès...



Salut Pascal

Voici 3 fonctions qui peuvent t'aider :

Public Function RemoveLfCr(s As String)
'--------------------------------------
s = Replace(s, vbCr, "")
s = Replace(s, vbLf, "")
RemoveLfCr = s
End Function

Public Function RemoveExtraSpaces(str As String) As String
' Removes Extra Spaces in between the words
'-------------------------------------------------------------------------
str = Trim(str)

Dim l As Integer, i As Integer
Dim s As String
Dim Prev_char As String * 1

s = ""

l = Len(str)
i = 1
Do
Prev_char = Mid(str, i, 1)
i = i + 1

s = s + Prev_char
If Prev_char = " " Then
Do While (i < l) And (Mid(str, i, 1) = " ")
i = i + 1
Loop
End If

Loop Until i > l

str = s
RemoveExtraSpaces = s
End Function

Public Function StripMultiSpaces(sString As String)
'-------------------------------------------------
Dim iInd As Integer

sString = Trim(sString)
If Len(Trim(sString)) = 0 Then
StripMultiSpaces = sString
Exit Function
End If
If Len(Trim(sString)) < 3 Then
StripMultiSpaces = sString
Exit Function
End If

StripMultiSpaces = " "
sString = Replace(sString, " ", "^")
For iInd = 1 To Len(Trim(sString))
If Mid(sString, iInd, 2) = "^^" Then
Else
StripMultiSpaces = StripMultiSpaces & Mid(sString, iInd, 1)
End If
Next iInd

StripMultiSpaces = Replace(StripMultiSpaces, "^", " ")
StripMultiSpaces = Trim(StripMultiSpaces)
If Len(Trim(sString)) = 0 Then
StripMultiSpaces = sString
End If
End Function
Avatar
Pascal
merci beaucoup !

--
bonjour


http://www.scalpa.info
"Luigi" a écrit dans le message de news:


Pascal ha scritto:

bonjour

J'essaie d'enlever tous les espaces (y compris les insécables) d'une
chaine
caractères mais sans succès...



Salut Pascal

Voici 3 fonctions qui peuvent t'aider :

Public Function RemoveLfCr(s As String)
'--------------------------------------
s = Replace(s, vbCr, "")
s = Replace(s, vbLf, "")
RemoveLfCr = s
End Function

Public Function RemoveExtraSpaces(str As String) As String
' Removes Extra Spaces in between the words
'-------------------------------------------------------------------------
str = Trim(str)

Dim l As Integer, i As Integer
Dim s As String
Dim Prev_char As String * 1

s = ""

l = Len(str)
i = 1
Do
Prev_char = Mid(str, i, 1)
i = i + 1

s = s + Prev_char
If Prev_char = " " Then
Do While (i < l) And (Mid(str, i, 1) = " ")
i = i + 1
Loop
End If

Loop Until i > l

str = s
RemoveExtraSpaces = s
End Function

Public Function StripMultiSpaces(sString As String)
'-------------------------------------------------
Dim iInd As Integer

sString = Trim(sString)
If Len(Trim(sString)) = 0 Then
StripMultiSpaces = sString
Exit Function
End If
If Len(Trim(sString)) < 3 Then
StripMultiSpaces = sString
Exit Function
End If

StripMultiSpaces = " "
sString = Replace(sString, " ", "^")
For iInd = 1 To Len(Trim(sString))
If Mid(sString, iInd, 2) = "^^" Then
Else
StripMultiSpaces = StripMultiSpaces & Mid(sString, iInd, 1)
End If
Next iInd

StripMultiSpaces = Replace(StripMultiSpaces, "^", " ")
StripMultiSpaces = Trim(StripMultiSpaces)
If Len(Trim(sString)) = 0 Then
StripMultiSpaces = sString
End If
End Function