2017-10-06 14 views
-1

Comment puis-je m'échapper Expression\("(?!").*", [0-9]+\)>?Comment puis-je échapper à cette chaîne?

J'ai essayé Expression\\(\"(?!\").*\", [0-9]+\\)> mais en cours d'exécution

Print("Expression\\(\"(?!\").*\", [0-9]+\\)>"); 

sur VS C# Interactive, il imprime:

"Expression\\(\"(?!\").*\", [0-9]+\\)>" 

Avec les retours de bâton en double.

+2

Qu'entendez-vous par "retours"? Le débogueur affichera des chaînes échappées. Essayez de l'imprimer sur la console. 'Console.WriteLine' le casse – Blorgbeard

+1

. Peut-être que c'est un comportement de la méthode C# Interactive 'Print (String)'. – vnbrs

+0

@vnbrs Oui, la méthode C# interactive (chaîne) imprime la chaîne échappée, car elle apparaît entre guillemets sous la forme d'un littéral de chaîne dans un fichier source C#. J'ai vu quelqu'un en parler dans un commentaire tout récemment. –

Répondre

0

La méthode C# Interactive Print(String) imprime la chaîne telle quelle, sans évaluer les caractères espace. Utilisez à la place le code Console.WriteLine(String).

1

Vous pouvez utiliser

 string s = @"Expression\(""(?!"").*"", [0-9]+\)>"; 

     Console.WriteLine(s); 

Cela fonctionne.