0

如何在java中#title转换?<h1>title</h1>我正在尝试创建一种将markdown格式转换为html格式的算法。

4

3 回答 3

6

如果要创建降价算法,请查找正则表达式。

String noHtml = "#title1";
String html = noHtml.replaceAll("#(.+)", "<h1>$1</h1>");

回答评论 - 更多关于字符类的信息

String noHtml = "#title1";
String html = noHtml.replaceAll("#([a-zA-Z]+)", "<h1>$1</h1>");
于 2012-10-21T19:26:12.273 回答
1

假设您在标记单词的开头结尾使用了一个哈希,您可以使用这样的方法,它将所有这些都放在一个字符串中。

private String replaceTitles(String entry) {
    Matcher m = Pattern.compile("#(.*?)#").matcher(entry);
    StringBuffer buf = new StringBuffer(entry.length());
    while (m.find()) {

        String text = m.group(1);
        StringBuffer b = new StringBuffer();
        b.append("<h1>").append(text).append("</h1>");

        m.appendReplacement(buf, Matcher.quoteReplacement(b.toString()));
    }
    m.appendTail(buf);
    return buf.toString();
}

如果你打电话

replaceTitles("#My Title One!# non title text, #One more#")

它会回来

"<h1>My Title One!</h1> non title text, <h1>One more</h1>"
于 2012-10-21T19:36:11.957 回答
0

尝试:

  String inString = "#title";
  String outString = "<h1>"+inString.substring(1)+"</h1>";

或者

  String outString = "<h1>"+"#title".substring(1)+"</h1>";
于 2012-10-21T19:21:14.963 回答