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

VB.NET Discussion :

[VB.NET] Problème avec le REPLACE


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut [VB.NET] Problème avec le REPLACE
    Bonjour,

    Je souhaiterai effectuer un replace de certaines chaines dans un texte.
    Mon problème est le suivant, pour que le replace fonctionne correctement, il faut que la chaine spécifiée dans le replace correspondent à l'identique, même casse) sinon il passe au dessus.

    MonTexte = "Toujours de bons Conseils sur Developpez.com"

    monNouveauTexte = monTexte.replace("conseils","Astuces")

    ca ne marche pas, le C est en majuscule. Comment faire??

    D'avance merci

    OLBI

  2. #2
    Membre éprouvé
    Inscrit en
    Mars 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 88
    Par défaut
    Salut,

    Il n'y a pas de solutions avec String.Replace, il est case Sensitive.
    Cependant, tu peux faire :

    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
    22
    23
     
    Public Class MyString
        Inherits String
     
        Public Function ReplaceNoCase(oldValue As String, newValue As String) As String
             Dim myTextTmp As string
             Dim iPos As Integer
             Dim  bContinue As Boolean
     
             myTextTmp = Me.Text.ToLower
             bContinue = True
             While bContinue
                  iPos = myTextTmp.IndexOf(oldValue.ToLower)
                  If iPos = -1 Then
                      bContinue = False
                  Else
                      Me.Text.Replace(Me.Text.SubString(iPos, oldValue.Length), _
                            newValue)
                  End If 
             End While
             Return Me.Text
        End function
    End Class
    Il ne te reste qu'à redéfinir ta déclaration de chaîne pour faire que de string devient ReplaceNoCase.

    @ +

    PS : Vérifie mon code, je n'ai pas pu le tester. Sorry, j'ai pas de compilateur.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    Merci pour le code. Je l'ai tester et je l'ai corriger.
    Voici la correction.

    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
    22
    23
    24
    25
    26
     
    Public Class MyString
        Inherits String
     
        Public Function ReplaceNoCase(oldValue As String, newValue As String) As String
             Dim myTextTmp As string
             Dim iPos As Integer
             Dim  bContinue As Boolean
     
             myTextTmp = Me.Text.ToLower
             bContinue = True
             While bContinue
                  iPos = myTextTmp.IndexOf(oldValue.ToLower)
                  If iPos = -1 Then
                      bContinue = False
                  Else
                      Me.Text = Me.Text.Replace(Me.Text.SubString(iPos, oldValue.Length), _
                            newValue)
     
                      myTextTmp = Me.Text
     
                  End If 
             End While
             Return Me.Text
        End function
    End Class
    Encore un grand merci pour votre aide.

    OLBI

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Par défaut
    Mais tout simplement ainsi ça marche pas mieux ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MonTexte = "Toujours de bons Conseils sur Developpez.com"
     
    monNouveauTexte = replace(MonTexte,"conseils","Astuces")

  5. #5
    Membre éprouvé
    Inscrit en
    Mars 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 88
    Par défaut
    olbi

    Excuse moi pour les erreurs, je l'ai fait de tête et sans complilateur. Je suis pas équipé VS.net, ici.

    edertef

    Je ne sais pas, si ta solution fonctionne. Mais moi, j'intégre plus de code VB6 dans mon code VB.net. C'est risqué, et hautement déconseillé. Et cela même si il est possible qu'il fonctionne.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Par défaut
    Ha bon, c'est du vb6 ? je ne savais pas lol

    en tout cas j'utilise comme ça et pour l'instant je n'ai pas eu de soucis ...

Discussions similaires

  1. [VB.NET] Problème avec For Each...
    Par cyrcroix dans le forum Windows Forms
    Réponses: 5
    Dernier message: 15/06/2005, 10h49
  2. [VC++ .NET] Problème avec l'éditeur de liens
    Par hamster dans le forum MFC
    Réponses: 11
    Dernier message: 09/05/2005, 11h08
  3. [VB.NET] Problème avec DataReader..?
    Par Pleymo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/03/2005, 19h30
  4. [VB.NET] Problème avec OpenFileDialog
    Par Lahouari dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/03/2005, 15h41
  5. [VB.NET] Problème avec un OptionButton dans Excel 2003
    Par alfprod dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/09/2004, 13h40

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