2016-07-16 5 views
-1

Ich versuche, Arbeit zu kompilieren, aber nichtWie Debuggen des Fehlers "unerwartete Zeichen CS1056"?

using System; 

    using System.IO; 

    using System.Text.RegularExpressions; 




class Program 


    { 

    static void Main() 

     { 

    string strFile = File.ReadAllText(@"C:\Users\diego\Desktop\pruebaregex2.txt"); 

strFile = Regex.Replace(strFile, @"((FA|BO)\\s+(\\d{3}-\\d+)(\\s+)(.*?)(\\s+)(\\d+,*\\d*\\.\\d+)\\s*(FA|BO)\\s+(\\d{3}-\\d+)(\\s+)(.*?)(\\s+)(\\d+,*\\d*\.\\d+)\\s*, @"$2&$4&$6\\n$8&$10&$12"); 

    File.WriteAllText(@"C:\Users\diego\Desktop\pruebaregex2.txt", strFile); 

    } 
} 

ich es zu korrigieren versucht haben, aber nicht wissen, wie dieser Fehler

In diesem Teil beheben wird die Fehler

"$2&$4&$6\\n$8&$10&$12" 

Error CS1056: Character '$' unexpected 
+1

Sogar grundlegende Syntaxhervorhebung auf SO weist auf das gleiche Problem hin ... Sie können Schlusskurs an der richtigen Stelle setzen. –

Antwort

1

Sieht aus wie Sie einen Schlusskurs nach \\s* das zweite Argument in der Replace Aufruf sind vermisst.

strFile = Regex.Replace(
    strFile, 
    @"((FA|BO)\\s+(\\d{3}-\\d+)(\\s+)(.*?)(\\s+)(\\d+,*\\d*\\.\\d+)\\s*(FA|BO)\\s+(\\d{3}-\\d+)(\\s+)(.*?)(\\s+)(\\d+,*\\d*\.\\d+)\\s*", 
    @"$2&$4&$6\\n$8&$10&$12"); 
+0

funktioniert wirklich, sehr danke – jhonny625

1

Wenn Sie brauchen die Anführungszeichen hier @"$2&$4&$6\\n$8&$10&$12");

nur duplizieren es zu sein @""$2&$4&$6\\n$8&$10&$12");

falls Sie es nicht brauchen, entfernen Sie einfach es

+0

sehr vielen Dank. – jhonny625