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

C# Discussion :

[Débutant][c#]éliminé les escapes sequences d'un string


Sujet :

C#

  1. #1
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut [Débutant][c#]éliminé les escapes sequences d'un string
    Bonjour,

    [EDIT: j'ai changer le titre car mon problème a changé le titre précédent: String utilisation de StartsWith ]

    Voila j'ai un petit problème avec mon code que voici (simplifié mais comme ca):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    string toto = "\r\n\t\t\t\r\n\t\t";
    bool albert = toto.StartsWith ("\\")
    if (  albert == true)
    ...

    Moi ce que j'aimerais testé c'est si mon string commence par un \ j'aimerais faire une action alors j'en ai mis deux pour échapper mais ca n'a pas l'air de fonctionner!

    Comment faire sachant que la lettre d'après est variable?

    Merci pour votre aide

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  2. #2
    Membre régulier

    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Points : 100
    Points
    100
    Par défaut
    Pour ;Net les \n \e et \t sont des carateres speciaus donc il les interpretes comme tel et non comme string.

    Donc pour lui ta variable toto nes commence pas par \ mais pas un retour à la ligne.

    Donc après il faut savoir ce que tu veux réellement faire.
    A quoi te servirait la detection du \ en debut de string?

  3. #3
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    Ok je comprend mieux.

    Enfaite je récupère une valeur d'un contenu mixte xml et j'aimerais savoir s'il contient que des \n, \r, \t,... ou s'il contient réellement un texte!

    Comment puis-je réaliser ca?

    Merci pour ta réponse si rapide!

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  4. #4
    Membre régulier

    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Points : 100
    Points
    100
    Par défaut
    La solution qui me vient à l'esprit en premier est de simplement faire un Replace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    toto.Replace("\n","").Replace("\r","").Replace("\t","")
    Le seul souci a cette methode c'est que si tu veux rajouter un caractere à enlever il faut modifier le code.

    Pour le moment j'ai pas d'autres idées qui me viennent.

  5. #5
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    ok merci pour l'idée c'est pas la mieux mais ca me permettra d'avancer!

    Si je résume on peux avoir: \r, \t, \n, \v? y a d'autre mais sa ne représente pas d'espacement?

    Maintenant si quelqu'un a mieux que ca? Ca serait génial car la niveau perf c'est pas génial!

    Mais y ont bien du prévoir quelque chose pour les éliminé d'office ces escape sequences, non?

    Merci beaucoup
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  6. #6
    Membre éclairé Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Points : 774
    Points
    774
    Par défaut
    pourkoi pas faire ??


  7. #7
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Ok je vois il faut que je donne plus d'info!

    Tout d'abord j'utilise Microsoft office infopath qui n'utilise pas le namespace system.xml (chose qui va changer avec l'arriver de 2005 mais on y est pas encore) mais ca propre implémentation de msxml 3 (sauf erreur) et je n'ai pas trop envie de devoir rajouter une référence rien que pour ca et après de créer un xmldocument,...

    Merci beaucoup pour ton aide mais va falloir que je trouve autre chose!

    D'autre idée?

    Merci

    P.S. je crois qu'un changement de titre est nécessaire!
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  8. #8
    Membre éclairé Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Points : 774
    Points
    774
    Par défaut ~~
    autant pour moi .

    Virgul tu pourrais nous montrer les differentes possibilites qui existent ainsi que le type d'encodage ou tout autre info qui pourraient nous etres utiles?

    par ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string 1= "                    ";
    string 2= "";
    string 3= "/////    "
    quel est le type de depart : est ce un string ou c'est toi qui fait la conversion ??

  9. #9
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    En faite a l'aide d'infopath je récupère ma valeur dans un string.

    je peux soit récupérer un mode noeud ou soit en mode text

    deux mode texte un xml (avec les balise) l'autre juste le text!

    je récupère juste le texte dans un string

    Infopath m'envoit toute ces merde a cause que c'est un contenu mixte et qu'il ne le gère pas encore très bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Mixte>\r\n\t\t\t<D Des=\"\"></D>\r\n\t\t</Mixte>
    la c'est la valeur xml text et maintenant voici le sorti text:

    Voila je crois que c'est tout si tu ne comprend pas un truc dit moi!

    Merci beaucoup pour ton aide!
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  10. #10
    Membre éclairé Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Points : 774
    Points
    774
    Par défaut
    et toi t'aimerai savoir le contenu de ton infopath est vide ou pas c'est bien ca???
    desoler si je m'emele les pinceau.

    le probleme c'est que j'essaie de retomber sur la meme situation que toi et donc de repurer un string de valeur

    \r\n\t\t\t\r\n\t\t
    mais j'y arrive pas puisque qu'il gere automatiquement et me re rajoute "@" pour preceder le string

    et pk ne pas travailler avec le string de depart ?
    <Mixte>\r\n\t\t\t<D Des=\"\"></D>\r\n\t\t</Mixte>

  11. #11
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    As-tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //...
    bool albert = toto.StartsWith (System.Environment.NewLine);
    //...
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  12. #12
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Citation Envoyé par neguib
    As-tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //...
    bool albert = toto.StartsWith (System.Environment.NewLine);
    //...
    ok merci pour ta réponse!

    Mais mon string peux commencer par les quatre \n\t\r\v!

    Alors mieux vaux testé ou remplacé?

    et toi t'aimerai savoir le contenu de ton infopath est vide ou pas c'est bien ca???
    desoler si je m'emele les pinceau.
    oui oui tout a fait si c'est que ces \n et compagnie je puisse dire que c'est vide et sinon pas!

    et pk ne pas travailler avec le string de depart ?
    oui pk pas mais ca va changer quoi?
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  13. #13
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    pour le replace je te suggère l'utilisation d'un Regex sur ton string final qui eliminerait les caractères : @"\n", @"\t", @"\r", @"\v",
    Par exemple (attention je suis vbciste donc contrôle mon C# )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private string GetNewString( string MyString)
     {
       string[] chars = new string[@"\n", @"\t", @"\r", @"\v"];
       string newStr = MyString;
       foreach(string c in chars)
        {
           newStr = Regex.Replace(newStr, c, String.Empty);
        }
       return newStr;
     }
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  14. #14
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    je te redis demain quand j'aurai essayé merci d'avance!
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  15. #15
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par virgul
    je te redis demain quand j'aurai essayé merci d'avance!
    ok en tout cas chez moi c'est bon
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  16. #16
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Ok merci neguib c'est tout bon ca marche!

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

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

Discussions similaires

  1. escape sequence ricoh mfp pour les tray 1 et 4
    Par cpf2006 dans le forum Périphériques
    Réponses: 0
    Dernier message: 02/04/2012, 15h31
  2. Éliminer les lignes blanches dans un tableau
    Par DenPro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/11/2004, 01h27
  3. [Débutant]Commencer avec les BDD
    Par Pill_S dans le forum Débuter
    Réponses: 6
    Dernier message: 29/06/2004, 14h02
  4. [débutant] question sur les #
    Par Ultros dans le forum C
    Réponses: 3
    Dernier message: 29/04/2004, 12h30
  5. Fusion de lignes de tables en éliminant les redondances
    Par MinsK dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 22/04/2004, 09h21

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