none
Expressions régulières dans l'éditeur de code C#

    Discussion générale

  • Bonjour tout le monde,

    Dans une chaîne de caractères citée entre guillemets sur plusieurs lignes, je voudrais insérer un saut de ligne à la fin de chaque ligne.

    En me référant à la doc, j'ai tapé un guillemet comme chaîne à remplacer (d'ailleurs j'aurais dû mettre \r après pour éviter que le guillemet de début de ligne soit concerné), puis comme expression de remplacement :

    \\n"

    Mais voilà, ça apparaît tel quel, la barre inverse est doublée. Donc, au lieu d'aller à la fin de chaque ligne pour ajouter \n, je dois y aller pour enlever la deuxième barre. Donc, autant faire le travail à la main.

    Si je ne mets qu'une barre, au lieu d'être insérée telle quelle l'expression est interprétée, c'est-à-dire que le guillemet est rejeté à la ligne suivante, ce que C# n'aime pas trop, et d'ailleurs moi pas trop non plus.

    Est-ce que j'ai mal lu la doc ?

    mercredi 20 décembre 2017 15:01

Toutes les réponses

  • Bonjour Gloops,

    si vous souhaitez utiliser une barre \, rendez votre chaîne de caractères d'expression régulière verbatim :

    "\b(_\w+|[\w-[0-9_]]\w*)\b" // non verbatim
    @"\b(_\w+|[\w-[0-9_]]\w*)\b" verbatim

    Cordialement,

    mercredi 20 décembre 2017 16:19
  • Ouaouh ... suffisait d'y penser :)

    Merci.

    Je regarde ça demain (je suppose que c'est un exemple standard qui a été donné là, qu'il n'a rien à voir avec le mien ?)

    mercredi 20 décembre 2017 18:02
  • Bon, mettons que ça introduit un changement, mais qu'on n'y est encore pas.

    A chercher : guillemet,

    Chaîne de remplacement :

    @"\n""

    ajoute une arobase devant le guillemet existant, va à la ligne après le guillemet, et ajoute une paire de guillemets

    @"\\n""

    ajoute devant le guillemet une arobase suivie de, entre guillemets, deux barres inverses et un n

    Si je mets l'arobase dans la chaîne à chercher, comment est-ce que je trouve le guillemet ?

    jeudi 21 décembre 2017 09:43