OVH Cloud OVH Cloud

Manip chaine de caracteres

5 réponses
Avatar
christophe
Bonjour,

Je cherche un fonction qui permet de remplacer dans une chaine de caracteres
un caractere par un autre.

ex : chaine = "aaaabbbababa"
remplacer b par *
chaine = "aaaa***a*a*a"
Je n'ai rien trouvé de particulier dans l'aide.
Merci d'avance

5 réponses

Avatar
Adam Pietrasiewicz
W czwartek 27-stycznia-2005 o godzinie 09:29:02 christophe napisa³/a


Bonjour,



Je cherche un fonction qui permet de remplacer dans une chaine de caracteres
un caractere par un autre.



ex : chaine = "aaaabbbababa"
remplacer b par *
chaine = "aaaa***a*a*a"



D'habiture on utilise pour cela

chaine = Replace(chaine,"b","*")

mais peut etre je n'ai pas compris qqchose....


--
Pozdrawiam
Adam Pietrasiewicz
Avatar
yogui74
christophe a écrit le 27/01/2005 à 09h29 :
Bonjour,

Je cherche un fonction qui permet de remplacer dans une chaine de caracteres
un caractere par un autre.

ex : chaine = "aaaabbbababa"
remplacer b par *
chaine = "aaaa***a*a*a"
Je n'ai rien trouvé de particulier dans l'aide.
Merci d'avance


petit soft qui doit pouvoir aider :

http://www.toocharger.com/fiches/logiciels/remplacechaineauto/36497.htm
Avatar
Patrick JONIEC
Voici la procedure que j'ai créé :

Public Function Replace(strTexte As Variant, strRech As String, strRemp As
String) as string
' StrText = texte dans lequel faire la recherche
' strRech = texte à chercher
' strRemp = texte de remplacement à mettre à la place de strRech
' Valeur de retour = chaine modifiée
Dim i As Long, TexteDeb As String, TexteRes As String

If IsNull(strTexte) Then Exit Function
TexteDeb = strTexte
TexteRes = ""
While TexteDeb <> ""
i = InStr(1, TexteDeb, strRech)
If i = 0 Then
TexteRes = TexteRes + TexteDeb
TexteDeb = ""
Else
TexteRes = TexteRes + Left(TexteDeb, i - 1) + strRemp
TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1)
End If
Wend
Replace = TexteRes

End Function

"yogui74" a écrit dans le message de
news:
christophe a écrit le 27/01/2005 à 09h29 :
Bonjour,

Je cherche un fonction qui permet de remplacer dans une chaine de
caracteres



un caractere par un autre.

ex : chaine = "aaaabbbababa"
remplacer b par *
chaine = "aaaa***a*a*a"
Je n'ai rien trouvé de particulier dans l'aide.
Merci d'avance


petit soft qui doit pouvoir aider :

http://www.toocharger.com/fiches/logiciels/remplacechaineauto/36497.htm


Avatar
François Picalausa
Hello,

A ce propos, l'article suivant de la KB propose une autre
implémentation (et rappel les fonctions VB6/VBA correspondantes):

http://support.microsoft.com/kb/188007/en-us

Francois Picalausa

"Patrick JONIEC" wrote:
Voici la procedure que j'ai créé :

Public Function Replace(strTexte As Variant, strRech As String, strRemp A s
String) as string
' StrText = texte dans lequel faire la recherche
' strRech = texte à chercher
' strRemp = texte de remplacement à mettre à la place de strRech
' Valeur de retour = chaine modifiée
Dim i As Long, TexteDeb As String, TexteRes As String

    If IsNull(strTexte) Then Exit Function
    TexteDeb = strTexte
    TexteRes = ""
    While TexteDeb <> ""
        i = InStr(1, TexteDeb, strRech)
        If i = 0 Then
            TexteRes = TexteRes + TexteDeb
            TexteDeb = ""
        Else
            TexteRes = TexteRes + Left(TexteDeb, i - 1) + s trRemp
            TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1)
        End If
    Wend
    Replace = TexteRes

End Function

"yogui74" a écrit dans le message denews:9fWdnU



> christophe a écrit le 27/01/2005 à 09h29 :
>> Bonjour,

>> Je cherche un fonction qui permet de remplacer dans une chaine de
>> caracteres

>> un caractere par un autre.

>> ex : chaine = "aaaabbbababa"
>> remplacer b par *
>> chaine = "aaaa***a*a*a"
>> Je n'ai rien trouvé de particulier dans l'aide.
>> Merci d'avance
> petit soft qui doit pouvoir aider :

>http://www.toocharger.com/fiches/logiciels/remplacechaineauto/36497.htm


Avatar
Jean-marc
yogui74 wrote:
christophe a écrit le 27/01/2005 à 09h29 :
Bonjour,

Je cherche un fonction qui permet de remplacer dans une chaine de
caracteres



un caractere par un autre.

ex : chaine = "aaaabbbababa"
remplacer b par *
chaine = "aaaa***a*a*a"
Je n'ai rien trouvé de particulier dans l'aide.
Merci d'avance


petit soft qui doit pouvoir aider :

http://www.toocharger.com/fiches/logiciels/remplacechaineauto/36497.htm



A noter que les 2 articles suivants de la FAQ contiennent de
nombreux exemples ainsi que des fonctions prêtes à l'emploi
pour ce genre de manip :

Comment réaliser des manipulations de chaînes de caractères ?
http://faq.vb.free.fr/index.php?question8

Comment réaliser des manipulations complexes de chaînes de caracères ?
http://faq.vb.free.fr/index.php?question7

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;