Diciamo che avete un file di testo si legge come una lunga serie:C# /. NET magic per rimuovere le righe di commento dall'input del file di testo?
123 123 123
123 123 123
// Just a comment
123 123 123
123 123 123
# Just a comment
123 123 123
In genere si divide in linee a qualcosa di simile, (ad esempio in Unity3D),
List<string> lines = new List<string>(
controlFile.text.Split(new string[] { "\r","\n" },
StringSplitOptions.RemoveEmptyEntries));
.NET offerte un'incredibile quantità di magia per le corde, come la formattazione e altro.
Mi chiedo, c'è qualche magia disponibile per rimuovere facilmente i commenti?
NOTA - ovviamente si può fare questo utilizzando un'espressione regolare, ecc Come SonerGönül sottolinea che può utilmente essere fatto con .Where
e .StartsWith
La mia domanda, c'è qualche struttura nell'universo della magia stringa .NET , che in particolare "capisce" e aiuta con i commenti.
Anche se la risposta di un esperto è "decisamente no", questa è una risposta utile.
Il problema è ogni formato utilizza un delimitatore diverso per i commenti. Quindi il metodo dovrebbe essere parametrizzato per accettare il tuo tipo di delimitatore di commenti. E nel tuo esempio, ne hai mostrati due. Ci sono più possibilità? O solo quei due? –
Quali sono le possibilità di una riga di commento? Inizia solo con '//' o '#'? Se è così, puoi usare qualcosa come '.Where (line =>! Line.StartsWith (" // ") ||! Line.StartsWith (" # "))' forse? –
Un'altra domanda importante è che devi supportare i commenti * in linea * o possiamo supporre che il commento sia all'inizio della riga e che l'intera riga possa essere rimossa? –