将html字符串转换为java" out.println" -statement

时间:2014-09-01 12:19:41

标签: java html string servlets split

如何将html字符串转换为java“out.println”语句(使用java)?

e.g。

<h1>Hello world</h1><p style="background-color:red">hello</p>

out.println("<h1>Hello world</h1>");
out.println("<p style=\"background-color:red\">hello</p>");

3 个答案:

答案 0 :(得分:0)

尝试以下提到的链接

JSoup
Html Parser Tutorial

答案 1 :(得分:0)

正则表达式替换。我认为你想在IDE中进行替换。 (在Java中执行此操作需要反斜杠转义,通常类似于"\w"成为"\\w"。)

替换

<(\w+)[^>]*>([.\r\n]*)</\1>

通过

out.println("$2");\r\n

\1与第一组匹配(标签名称)。

答案 2 :(得分:0)

如果您正在尝试简化编辑,那么在Eclipse中有一个选项。查看:窗口 - &gt;偏好 - &gt; Java - &gt;编辑 - &gt;打字 - &gt;在字符串文字中 - &gt;粘贴到字符串文字时转义文本。

如果您尝试以编程方式执行此操作,这就足够了:

public static String escapeForQuotes(String s) {
    return escapeForQuotes(s, '\uFFFF');
}

public static String escapeForQuotes(String s, char ignore) {
    int len = s.length();
    StringBuilder sb = new StringBuilder(len * 6 / 5);
    for (int i = 0; i < len; i++) {
        char c = s.charAt(i);
        if (c == ignore) { sb.append(c); continue; }
        switch (c) {
        case '\\': case '\"': case '\'': break;
        case '\n': c = 'n'; break;
        case '\r': c = 'r'; break;
        case '\0': c = '0'; break;
        default: sb.append(c); continue;
        }
        sb.append('\\').append(c);
    }
    return sb.toString();
}

该函数返回其输入,在引号,反斜杠,换行符和空值之前插入反斜杠。可选的'ignore'参数允许您指定一个不需要转义的字符。例如,'可以但不需要在"引用的字符串中进行转义,反之亦然。

如,

System.out.println("System.out.println(\"" + escapeForQuotes(html, '\'') + "\");");