commons-lang3的StringEscapeUtils类的常用方法总结

StringEscapeUtils

    从类名能看出来,是对特定字符串转义和不转义输出的工具类,例如以下的情况,使用【类名.方法名】的方式

  • html,xml的标签(" & < >等)
  • java,javascript的转义字符(tab键, 双引号(")等)
  • csv文件中项目双引号等

    对转义字符概念还没有理解的小伙伴,现行baidu下,下面我们一组一组来介绍常用的转义和不转义方法

 

常用方法

  • escapeHtml4

方法描述:对传入的字符串中包含html代码的特殊字符进行转义

参数类型:String

返回值类型:String

    public static final String escapeHtml4(String input) {

 

  • unescapeHtml4

方法描述:对传入的字符串中包含html代码进行原样输出,对已经转义的html代码,反转义后,进行原样输入

参数类型:String

返回值类型:String

    public static final String unescapeHtml4(String input) {

测试代码:

package StringEscapeUtilsTest;

import org.apache.commons.lang3.StringEscapeUtils;

public class EscapeHtmlAndUnescapeHtmlTest {

    public static void main(String[] args) {

        System.out.println(StringEscapeUtils.escapeHtml4("<h1>iosoft2020</h1>"));
        System.out.println(StringEscapeUtils.unescapeHtml4("<h1>iosoft2020</h1>"));
        System.out.println(StringEscapeUtils.unescapeHtml4("&lt;h1&gt;iosoft2020&lt;/h1&gt;"));

    }

}

执行结果

&lt;h1&gt;iosoft2020&lt;/h1&gt;
<h1>iosoft2020</h1>
<h1>iosoft2020</h1>

 

  • escapeXml

方法描述:对传入的字符串中xml文件中特殊字符进行转义

参数类型:String

返回值类型:String

    public static final String escapeXml(String input) {

 

  • unescapeXml

方法描述:对传入的字符串中xml文件中特殊字符进行原样输出,对已经转义的xml文件中特殊字符,反转义后,进行原样输入

参数类型:String

返回值类型:String

    public static final String unescapeXml(String input) {

测试代码:

package StringEscapeUtilsTest;

import org.apache.commons.lang3.StringEscapeUtils;

public class EscapeXmlAndUnescapeXmlTest {

    public static void main(String[] args) {

        System.out.println(StringEscapeUtils.escapeXml("<p>iosoft2020</p>"));
        System.out.println(StringEscapeUtils.unescapeXml("<p>iosoft2020</p>"));
        System.out.println(StringEscapeUtils.unescapeXml("&lt;p&gt;iosoft2020&lt;/p&gt;"));

    }

}

执行结果

&lt;p&gt;iosoft2020&lt;/p&gt;
<p>iosoft2020</p>
<p>iosoft2020</p>

 

  • escapeJava

方法描述:对传入的字符串中java的特殊字符进行转义输出

参数类型:String

返回值类型:String

    public static final String escapeJava(String input) {

 

  • unescapeJava

方法描述:对传入的字符串中java的特殊字符进行原样输出

参数类型:String

返回值类型:String

    public static final String unescapeJava(String input) {

测试代码:

package StringEscapeUtilsTest;

import org.apache.commons.lang3.StringEscapeUtils;

public class EscapeJavaAndUnescapeJavaTest {

    public static void main(String[] args) {

        System.out.println(StringEscapeUtils.escapeJava("\"iosoft2020\""));
        System.out.println(StringEscapeUtils.unescapeJava("\"iosoft2020\""));

    }

}

执行结果

\"iosoft2020\"
"iosoft2020"

 

  • escapeEcmaScript

方法描述:对传入的字符串中javascript的特殊字符进行转义输出

参数类型:String

返回值类型:String

    public static final String escapeEcmaScript(String input) {

 

  • unescapeEcmaScript

方法描述:对传入的字符串中javascript的特殊字符进行原样输出

参数类型:String

返回值类型:String

    public static final String unescapeJava(String input) {

测试代码:

package StringEscapeUtilsTest;

import org.apache.commons.lang3.StringEscapeUtils;

public class EscapeEcmaScriptAndUnescapeEcmaScript {

    public static void main(String[] args) {

        System.out.println(StringEscapeUtils.escapeEcmaScript("var str = \"iosoft2020\""));
        System.out.println(StringEscapeUtils.unescapeEcmaScript("var str = \"iosoft2020\""));

    }

}

执行结果

var str = \"iosoft2020\"
var str = "iosoft2020"

 

  • escapeCsv

方法描述:

  1. 如果传入字符串中不包含逗号(,)或双引号("),字符串原样返回
  2. 如果传入字符串中包含逗号(,),字符串两边加上双引号返回
  3. 如果传入字符串中包含双引号("),则在双引号前在加上一个双引号的同时,再在字符串两边加上双引号返回

参数类型:String

返回值类型:String

    public static final String escapeCsv(String input) {

 

  • unescapeCsv

方法描述:

  1. 对传入的字符串中csv的特殊字符进行原样输出
  2. 如果传入的字符串中有两个连续双引号的话,会删除其中一个双引号

参数类型:String

返回值类型:String

    public static final String unescapeCsv(String input) {

测试代码:

package StringEscapeUtilsTest;

import org.apache.commons.lang3.StringEscapeUtils;

public class EscapeCsvAndUnEscapeCsv {

    public static void main(String[] args) {

        System.out.println(StringEscapeUtils.escapeCsv("iosoft2020"));
        System.out.println(StringEscapeUtils.escapeCsv("iosoft,2020"));
        System.out.println(StringEscapeUtils.escapeCsv("iosoft\"2020"));
        System.out.println(StringEscapeUtils.unescapeCsv("iosoft\"2020"));
        System.out.println(StringEscapeUtils.unescapeCsv("\"iosoft\"\"\"2020\""));

    }

}

执行结果

iosoft2020
"iosoft,2020"
"iosoft""2020"
iosoft"2020
iosoft""2020

 

    今天内容到此为止,最近由于新冠状性病毒全球蔓延的影响,全球的经济都不是很好,很多互联网技术公司也开始裁员,平时多做技术累积,多输出,成为那个拿完违约金,立马能找到坑的大神。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值