ccf markdown

来源:互联网 发布:新手程序员 私活 编辑:程序博客网 时间:2024/04/28 05:10
import java.util.*;public class Main {    public static void main(String[] args){        new Main().run();    }    public void run() {        Scanner input = new Scanner(System.in);        StringBuffer paragraph = new StringBuffer();        StringBuffer unorderlist = new StringBuffer();        String line;        while (input.hasNextLine()) {            line = input.nextLine();            if (line.equals("")) {                if (paragraph.length() != 0) {                    dealparagraph(paragraph.toString());                    paragraph.delete(0, paragraph.length());                } else if (unorderlist.length() != 0) {                    dealunorderlist(unorderlist.toString());                    unorderlist.delete(0, unorderlist.length());                }                continue;            }            if (line.charAt(0) == '#') {                if (line.contains("_")){                    line=dealwithem(line);                }                if (line.contains("[")) {                    line = dealwithlink(line);                }                dealtitle(line);            } else if (line.charAt(0) == '*') {                if (line.contains("_")){                    line=dealwithem(line);                }                if (line.contains("[")) {                    line = dealwithlink(line);                }                unorderlist.append("<li>" + line.substring(1, line.length()).trim() + "</li>\n");            } else {                if (line.contains("_")){                    line=dealwithem(line);                }                if (line.contains("[")) {                    line = dealwithlink(line);                }                paragraph.append(line + "\n");            }        }        if (paragraph.length() != 0) dealparagraph(paragraph.toString());        else if (unorderlist.length() != 0) dealunorderlist(unorderlist.toString());    }    private String dealwithem(String line) {        int start;        String text;        while ((start = line.indexOf("_")) != -1) {            int end = line.indexOf("_",start+1);            text = line.substring(start + 1, end);            line = line.replace("_" + text + "_", "<em>"+text+"</em>");        }        return line;    }    private String dealwithlink(String line) {        int start;        String text, link;        while ((start = line.indexOf("[")) != -1) {            int end = line.indexOf("]");            text = line.substring(start + 1, end);            int parentheses1 = line.indexOf("(");            int parentheses2 = line.indexOf(")");            link = line.substring(parentheses1 + 1, parentheses2);            line = line.replace("[" + text + "](" + link + ")", "<a href=\"" + link + "\"" + ">" + text + "</a>");        }        return line;    }    private void dealunorderlist(String s) {        System.out.println("<ul>\n" + s + "</ul>");    }    private void dealparagraph(String line) {        System.out.println("<p>" + line.trim() + "</p>");    }    private void dealtitle(String line) {        int num = line.lastIndexOf("#") + 1;        String content = line.substring(num, line.length());        System.out.println("<h" + num + ">" + content.trim() + "</h" + num + ">");    }}
0 0
原创粉丝点击