Avatar billede skwat Praktikant
27. juni 2006 - 23:39 Der er 6 kommentarer og
1 løsning

parse kildekode

Hejsa E#,

Er der nogen der ligger inde med noget kode der kan trimme noget C like kode, således at alle kommentar bliver udladet

input:
myobj* hat = new myobj(); //ny ting
/*
Husk at slette engang
*/
funccall( /* første parameter er en hat */ hat, nogetandet);
delete hat;

output
myobj* hat = new myobj();
funccall( hat, nogetandet);
delete hat;
Avatar billede arne_v Ekspert
28. juni 2006 - 02:28 #1
Regex må være en mulighed.

Eksempel:

using System;
using System.Text.RegularExpressions;

namespace E3
{
    public class MainClass
    {
        public static Regex c = new Regex("/\\*.*?\\*/", RegexOptions.Singleline);
        public static Regex cpp = new Regex("//.*?\r\n");
        public static string StripComments(string s)
        {
            return c.Replace(cpp.Replace(s, "\r\n"), "");
        }
        public static void Main(string[] args)
        {
            string s = @"myobj* hat = new myobj(); //ny ting
/*
Husk at slette engang
*/
funccall( /* første parameter er en hat */ hat, nogetandet);
delete hat;";
            Console.WriteLine(StripComments(s));
        }
    }
}
Avatar billede nielle Nybegynder
29. juni 2006 - 18:47 #2
En smule anderledes, men ellers stort set samme løsningsmodel:

using System;
using System.Text.RegularExpressions;

namespace e717968
{
    public class MainClass
    {
        public static Regex c1 = new Regex(@"\s*//.*");
        public static Regex c2 = new Regex(@"/\*.*?\*/(\s*\r\n)?", RegexOptions.Singleline);

        public static string StripComments(string s)
        {
            return c2.Replace(c1.Replace(s, ""), "");
        }

        public static void Main(string[] args)
        {
            string s =
@"myobj* hat = new myobj(); //ny ting
/*
Husk at slette engang
*/
funccall( /* første parameter er en hat */ hat, nogetandet);
delete hat;";
            Console.WriteLine(StripComments(s));
        }
    }
}
Avatar billede skwat Praktikant
04. juli 2006 - 00:44 #3
Arne, jeg kan ikke forstå hvorfor du ikke defaulter til svar?
Avatar billede arne_v Ekspert
04. juli 2006 - 01:12 #4
tja ...
Avatar billede skwat Praktikant
04. juli 2006 - 14:26 #5
Jeg har skrevet en mail til admin@eksperten.dk for at få fjernet kommentar muligheden fra din profil
Avatar billede nielle Nybegynder
04. juli 2006 - 17:32 #6
*G*
Avatar billede arne_v Ekspert
04. juli 2006 - 20:27 #7
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester