日期:2014-05-20  浏览次数:20789 次

有关自动机的问题
谁能告诉我利用自动机的知识,编写个程序,用IO对文件操作把程序里面那些以//或/**/这两个开头的注释语句删掉,然后再输入到另个文件,使它没有注释语句

------解决方案--------------------
自动机是神马
------解决方案--------------------
用正则表达式还有IO流就可以实现了
------解决方案--------------------
这个很简单,不断ReadLine一行TXT,不断分析就是了,如果以//开头,找到行尾就可以,如果以/*开头,找到*/结束就可以,
但是要注意:

" // " 和" /*dfd*/"
就是可能字符串里包括注释标记
------解决方案--------------------
Java code

        String str1 = "/*fdadasfsdfdasfdsf*/123;2222;/*fsadf*/112121;/*fdasfsdfdasf*/2123;";
        System.out.println(str1);
        String regex = "/[*]{1}[^*/]*[*]{1}/";
        str1 = str1.replaceAll(regex, "");
        System.out.println("["+str1+"]");

------解决方案--------------------
如果读到/*,那么后面的都丢掉,直到读到*/为止,继续将读到的内容保存;
如果读到//,那么后面的都丢掉,直到读到/n为止,继续将读到的内容保存;