在java中将字符串转换为另一个字符串

时间:2012-10-21 19:17:33

标签: java string replace

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

3 个答案:

答案 0 :(得分:6)

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

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

回答评论 - 有关字符类here的更多信息:

String noHtml = "#title1";
String html = noHtml.replaceAll("#([a-zA-Z]+)", "<h1>$1</h1>");

答案 1 :(得分:1)

假设您在开头 end 中使用了标记的单词,您可以使用这样的方法来完成所有这些操作在一个字符串中。

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>"

答案 2 :(得分:0)

尝试:

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

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