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

Windows Forms Discussion :

Mes "+" se transforment en espaces [Regex]


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut Mes "+" se transforment en espaces [Regex]
    Je fais une application sous VB, pour l'instant y'avais aucun problème mais mtn je n'arrive pas à afficher le "+". Cela est remplacer par un espace. J'ai essayer de remplacer la valeur du plus comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Value1 As String
    Value1 = System.Text.RegularExpressions.Regex.Replace(Value1Result, "(<[^>]+>)", "")
    Value1 = System.Text.RegularExpressions.Regex.Replace(Value1, "%2B", "+")
    mais toujours rien

    Donc voilà, merci d'avance aux réponses

  2. #2
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    le + fait parti des syntaxes possible en regexp qui veux dire que tu retrouve au moins une fois l'élément si je me souviens bien.

    si tu veux le caractère + il faut le préfixer d'un \


    http://linux.die.net/man/3/regexp
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Ce qui ferais celà ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Value1 = System.Text.RegularExpressions.Regex.Replace(Value1, "%2B", "\+")

  4. #4
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Value1 = System.Text.RegularExpressions.Regex.Replace(Value1, "%2B", "+")
    Au fait, que fais cette commande, je ne connais pas vb?
    est ce que c'est censé remplacer dans value 1 la chaine "%2B" par "+" ou l'inverse?

    et cela ne gene pas VB que tu réaffecte le résultat dans la même chaine?
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Je suis sous VB 2005

    Pour "jabbounet", Value1 = System.Text.RegularExpressions.Regex.Replace(Value1, "%2B", "+"), remplace dans Value1, "%2B" par "+".

  6. #6
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    pouruquoi utiliser une regexp pour remplacer ici un simple fonction de base suffit.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    nan j'ai essayer avec une fonction de base comme :

    Value1 = Value1.Replace("\%2B", "+")

    et rien ne se passe.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Je met le code important de ma procédure pour que vous y voyez plus claire :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    Dim Pattern As String
     
    Pattern = "<a HREF=""/serie-[0-9]*-BD-[a-zA-Z0-9-:'!ü,ç@°...\(+\)+\\+\[+\]+\/+\&amp;+\x9C+\x2B+\x8C+\x40+\x3D+\+\x24+\xB2+\…+\x2A+]*.html"" TARGET=""_top"" alt=""[a-zA-Z0-9-:!?@°',%...ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç\s+\(+\)+\\+\[+\]+\/+\&amp;+\x9C+\x2B+\x40+\x3D+\x8C+\x24+\xB2+\…+\x2A+]*"" title=""[a-zA-Z0-9-:!?°',%...ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç\s+\(+\)+\\+\[+\]+\/+\&amp;+\x9C+\x2B+\x40+\x8C+\x3D+\x24+\xB2+\…+\x2A+]*"" >(.*)</a>"
    Dim rx As New Text.RegularExpressions.Regex(Pattern, RegexOptions.IgnoreCase)
    Dim matches As MatchCollection = rx.Matches(result)
                If matches.Count.ToString = 0 Then
                    MsgBox("Aucune série trouvée.", MsgBoxStyle.Information, "Film - Ty")
                    Me.Cursor = Cursors.Default
                    Exit Sub
                End If
                Dim guillement As String = """"
                If matches.Count.ToString = 1 Then
                    Dim Value1Result As String = matches.Item(0).Value.ToString
                    If matches1.Count.ToString = 0 Then
                        Value2Result = "ND"
                    Else
                        Value2Result = matches1.Item(0).Value.ToString
                    End If
     
                    Dim MaRegex As New System.Text.RegularExpressions.Regex("")
                    Dim Value1 As String
                    Value1 = System.Text.RegularExpressions.Regex.Replace(Value1Result, "(<[^>]*>)", "")
                    Value1 = System.Text.RegularExpressions.Regex.Replace(Value1, "%2B", "\+")
                    Value1 = Value1.Replace("&amp;", "&")
                    Value1 = Value1.Replace("x9C", "œ")
                    Value1 = Value1.Replace(" &quote ;", "f")
                    Dim item1 As New ListViewItem(1)
                    item1.SubItems.Add(Value1)
                    Me.LvResults.Items.AddRange(New ListViewItem() {item1})
                Else
                    For i As Short = 0 To matches.Count.ToString - 1
                        Dim MaRegex As New System.Text.RegularExpressions.Regex("")
                        Dim Value1 As String
     
                        Value1 = System.Text.RegularExpressions.Regex.Replace(matches(i).Value, "(<[^>]+>)", "")
                        Value1 = System.Text.RegularExpressions.Regex.Replace(Value1, "\x9C", "œ")
                        Value1 = System.Text.RegularExpressions.Regex.Replace(Value1, "\x8C", "Œ")
                        Value1 = Value1.Replace("&quote;", guillement)
                        Value1 = Value1.Replace("%2B", "\+")
                        Value1 = Value1.Replace("&amp;", "&")
                        Dim item1 As New ListViewItem(i + 1)
                        item1.SubItems.Add(Value1)
                        Me.LvResults.Items.AddRange(New ListViewItem() {item1})
                    Next
                End If

  9. #9
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par guice11 Voir le message
    nan j'ai essayer avec une fonction de base comme :

    Value1 = Value1.Replace("\%2B", "+")

    et rien ne se passe.
    et sans le \ devant le %2B?

    le % n'est il pas interprété d'une façon particulière en VB?

    peu être une astuce du type %% pour qu'il ignore le second et le prenne pour le caractère.

    autrement peu etre que %2B n'est tout simplement pas présent dans value1
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

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