我想使用JSP将字符串打印到网页,其中包含“< >
”。我需要将任何“>
”和“<
”替换为“<
”和“>
”。我的字符串应该是“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("<", "<").replace(">", ">");
}
这一行方法执行速度更快,并且更易于阅读、维护和重用。
关于java - 如何在 JSP 中使用正则表达式打印 HTML 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18139411/