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

Dotnet Discussion :

Intercepter caractère de saut de ligne "CRLF" dans une chaine


Sujet :

Dotnet

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 19
    Points : 17
    Points
    17
    Par défaut Intercepter caractère de saut de ligne "CRLF" dans une chaine
    Bonjour à vous,

    J'aimerais savoir si quelqu'un aurait une astuce pour intercepter un caractère de saut de ligne ( j'obtiens en hexa: 
). Exemple: "PINCE NEZ PLIAGE
"

    Pour tout vous expliquer je récupère une chaine de caractère d'un TextBox, où les utilisateurs font des copier/coller de texte ou tout genre. Or cela arrive qu'un retour à la ligne "CRFL" passe à la fin du texte, ce qui provoque bien évidement un saut de ligne, ce qui est très mal dans mon cas.

    Je cherche donc une routine permettant d'intercepter/bloquer ces caractères.

    Si quelqu'un à une idée, je suis preneur ! Merci à vous

  2. #2
    Membre chevronné

    Homme Profil pro
    Appui fonctionnel senior
    Inscrit en
    Juin 2007
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Appui fonctionnel senior
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 461
    Points : 2 211
    Points
    2 211
    Par défaut
    Bonjour,

    Le CRLF correspond aux caractères spéciaux \r (CR) et \n (LF). Il te suffit donc de faire un String.Replace() pour les enlever :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string maChaine = "Hello\r\n";
    maChaine = maChaine.Replace("\r\n", "");

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Merci de votre réponse !

    Je vais aller essayer ceci de suite !

    merci. Tony

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Finalement il suffisait d'utiliser VbCrLf:

    Chaine = Chaine.Replace(vbCrLf, "")

    Car "\r\n" ne sont pas interprétés en Visual Basic

    Merci à toi.

  5. #5
    Membre chevronné

    Homme Profil pro
    Appui fonctionnel senior
    Inscrit en
    Juin 2007
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Appui fonctionnel senior
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 461
    Points : 2 211
    Points
    2 211
    Par défaut
    Etrange... Est-ce que tu pourrais regarder les derniers caractères de ta chaîne en format char ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    string maChaine = ...;
    for (int i = 0; i < 5; i++)
       Debug.WriteLine(maChaine[maChaine.Length - i - 1]);
    L'idée est de voir par quoi la chaine se termine, sachant que :
    • 13 == \r
    • 10 == \n



    Si l'un de ces chiffres apparaît, il suffit de les supprimer, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maChaine.Replace('\r', '');
    Dans la mesure où seuls ces caractères peuvent provoquer un retour à la ligne, si ces caractères n'apparaissent pas du tout, le problème ne doit pas être lié à un retour de ligne.

    EDIT : En effet, en VB c'est un peu différent : il faut utiliser la fonction Chr() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maChaine.Replace(Chr(10) & Chr(13), "")
    Ca peut toujours être utile de savoir ça

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Exactement VB est un peu différent est Chr fonctionne très bien aussi.

    J'utilise NotePad ++ et lorsque que j'affiche les caractères de fin de ligne, il apparait un CR LF à la fin.

    Donc la solution est soit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maChaine.Replace(Chr(10) & Chr(13), "")
    soit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maChaine.Replace(VbLf & VbCr , "")
    Encore merci, Tony

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/07/2009, 15h07
  2. Impossible de convertir les sauts de lignes \n en <br> dans une jsp.
    Par michaelcourcy dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 28/11/2006, 17h32
  3. [Impression]Caractère de saut de ligne
    Par Luffy Duck dans le forum Windows
    Réponses: 10
    Dernier message: 08/11/2005, 12h12

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