java - 如何在 JSP 中使用正则表达式打印 HTML 标签?

标签 java html regex jsp

我想使用JSP将字符串打印到网页,其中包含“< > ”。我需要将任何“>”和“<”替换为“&lt”和“&gt”。我的字符串应该是“java/io/Object ”或“<init> ”等。 谁能给我一个模板吗?

我知道两种替换字符串的方法。但我不知道如何使用它。

    1
    String ss = s.replaceAll("(?i)<a.*?>(.*?)</a>", "$1");
    System.out.println(ss);

    2
    Pattern replace = Pattern.compile("(?i)<a.*?>(.*?)</a>");
    Matcher matcher2 = replace.matcher(s);
    System.out.println(matcher2.replaceAll(""));

哪一个可以快速替换字符串? 谢谢您的时间。 编辑: 我并不是想逃避 html 标签。像“<init>”这样的字符串不会打印在网页中,但它存在于html源文件中,因为浏览器将其作为标签。

最佳答案

您不需要正则表达式来替换 Java 中的尖括号。

你最好的选择是使用普通的字符串方法:

public String replaceAngleBrackets(String s) {
    return s.replace("<", "&lt;").replace(">", "&gt;");
}

这一行方法执行速度更快,并且更易于阅读、维护和重用。

关于java - 如何在 JSP 中使用正则表达式打印 HTML 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18139411/

相关文章:

java - 动态调用非静态方法

java - 我的 Android UI 无法运行?

java - 集合和列表的 contains 方法

html - 绝对 100% 宽度的 div 溢出一侧

html - 由于内部字体大小元素,div 容器之间出现奇怪的错位

python - 正则表达式获取除字母、空格、' 和 - 之外的所有内容

java - Java 泛型中的桥接方法。这个例子正确吗?

html - 有什么方法可以为我的所有 HTML 页面使用模板文件吗?

php - 删除字符串之前或之后的任何逗号?

c# - 如何在不丢失其在 C# 中的部分的情况下真正将字符串拆分为字符串数组?