一个处理字符串的工具类StringEscapeUtils

简介: 一个处理字符串的工具类StringEscapeUtils

最近有用到一个字符串处理类StringEscapeUtils,来自于apache工具包common-lang中,,这个类能很方便的进行html,xml,java等的转义与反转义;

  • 引入依赖:
<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

这个版本还有sql转义防注入攻击的功能,在3.0版本后好像没有了就;


StringEscapeUtils中都是静态方法,方便调用;主要方法如下图;

在这里插入图片描述
如图所示,此类可以处理

CSV,HTML,XML,SQL,JAVA 等类型的字符串

如:

  • 处理html中的特殊字符;
    String html = "<div><br />  <p>tag&p</p> > </div>";
    System.out.println(StringEscapeUtils.escapeHtml(html)); //转义
    String uhtml = StringEscapeUtils.unescapeHtml(html); //反转义

其他处理方式类似;

需要注意的是,在进行反转义的时候,若字符串没有待转的字符,那么不会对字符串进行任何处理

以下代码实现了,

将html的空格符号替换为空字符的功能;
防sql注入漏洞的
编译java代码字符串;
import org.apache.commons.lang.StringEscapeUtils;

public class TestStingUnspace {

    public static void main(String[] args) {

        String html = "<div><br />  <p>tag&p</p> > </div>";
        //System.out.println(html.replaceAll(" ","<p> </p>"));
        System.out.println(html);
        System.out.println(StringEscapeUtils.escapeHtml(html));
        String uhtml = StringEscapeUtils.unescapeHtml(html);
        System.out.println(uhtml);
        String ujava = StringEscapeUtils.unescapeJava(uhtml);
        System.out.println(ujava);
        String result = CharMatcher.whitespace().replaceFrom(ujava," ");
        System.out.println(result);

        System.out.println(StringEscapeUtils.escapeJava("  System.out.println(\"测试\")//这是注释"));

        System.out.println(StringEscapeUtils.escapeSql("select * from ta where id = 1 or '1=1'"));
    }

}
相关文章
|
7月前
|
数据安全/隐私保护
常用的字符串加密解密工具类
常用的字符串加密解密工具类
|
7月前
|
JSON 网络协议 C#
C# 工具类
C# 工具类
50 1
|
7月前
|
Java
JavaMap工具类(MapUtils)
JavaMap工具类(MapUtils)
|
7月前
字符串工具类总结(全)
字符串工具类总结(全)
|
7月前
JsonUtil工具类
JsonUtil工具类
38 0
|
SQL 前端开发
枚举工具类
枚举工具类
181 0
|
存储 Java 对象存储
字符串相关的类
字符串相关的类
45 0
数组常用方法总结(部分方法利用了工具类)
数组常用方法总结(部分方法利用了工具类)
109 0
|
安全
CollectionUtils工具类的常用方法
集合判断:   例1: 判断集合是否为空:  CollectionUtils.isEmpty(null): true  CollectionUtils.isEmpty(new ArrayList()): true    CollectionUtils.
2067 0
下一篇
DataWorks