在一些系统中经常可能会用到Cookie,但是Cookie的值是不能有特殊字符的,我也是在进过这个坑之后才想起来解决这个问题。另外,在sql中如果插入特殊字符也可能会阻碍sql正常执行,所以特殊字符处理还是有必要的。下面开始贴代码。

【方案一】:直接去掉特殊字符:

public static String replaceSpecialWord(String str) {    
    if (StringUtils.isNotEmpty(str)) {    
        String[] spaArr = { "\\","$","(",")","*","+",".","[", "]","?","^","{","}","|","'","%",",","," };    
        for (String key : spaArr) {    
            if (str.contains(key)) {    
                str = str.replace(key, "");    
            }    
        }    
    }    
    return str;    
 }

如果还有其他需要过滤的特殊字符,添加到上面的spaArr即可。

【方案二】:仅仅保留中文、英文,以及数字

public static String filterStr(String filterName){

String regEx1 = "[\\u4e00-\\u9fa5]";
        String regEx2 = "[a-z||A-Z]";
        String regEx3 = "[0-9]";
        String s1 = matchResult(Pattern.compile(regEx1),filterName);
        String s2 = matchResult(Pattern.compile(regEx2),filterName);
        String s3 = matchResult(Pattern.compile(regEx3),filterName);
        String name=s1+s2+s3;
        if(name.isEmpty()){
            name="没有符合要求的字符";//为了不符合中文、英文、数字三种情况出现空的情况,有一个变量通用字符串.
        }
        return name;    
    }

方案二的方式就是只取字符串中的中文、英文以及数字了,并且按照中文+英文+数字的顺序组合。如果想按照其他顺序,修改s1+s2+s3的组合顺序即可。

搞定了。

【备注】:方案一中需要引用StringUtils包,自己引即可。方案二中需要引入java.util.regex.Pattern包。

java 特殊字符处理相关推荐

  1. java 特殊字符_Java正则表达式特殊字符及其处理以及正则表达式详解

    在表达式中有特殊意义,需要添加 "\" 才能匹配该字符本身的字符汇总,特别注意:"\"字符本身在正则表示里需要用"\\\\"表示字符说明 ^ ...

  2. java特殊字符转义字符_Java正则表达式处理特殊字符转义的方法

    正则需要转义字符 '$', '(', ')', '*', '+', '.', '[', ']', '?', '\\', '^', '{', '}', '|' 异常现象: java.util.regex ...

  3. java 特殊字符过滤器_java处理url中的特殊字符

    java处理url中的特殊字符(如&,%...) URL(Uniform Resoure Locator,统一资源定位器)是Internet中对资源进行统一定位和管理的标志. 一个完整的URL ...

  4. java特殊字符转义html_java转义html特殊字符

    详细的ascii码对照表及转义字符_IT/计算机_专业资料.C# .Net比较详细的 ASCII 码对照表 JAVA 中转义字符 1.八进制转义序列:\\ + 1 到 3 位 5 数字;范围'.... ...

  5. pboot 将编码转换为实体html_java转换 HTML字符实体,java特殊字符转义字符串

    编码转换(to Unicode) (程序代码来源于网络) Js版 test = "你好abc" str = "" for( i=0;    i { temp = ...

  6. java特殊字符转义html_HTML特殊字符转义

    问题 如果HTML的DOM元素的属性值中含有特殊字符,会造成属性值取值错误. 例如: 上面input的value属性值含有双引号,会造成最后解析到的value是空格. 解决方案 解决的办法就是对数据进 ...

  7. java特殊字符转码_http 请求 特殊字符转换

    Http-Post请求特殊符号变空格的问题解决 2017年09月06日 10:33:26 阅读数:4098 今天在调试客户端向服务器传递参数时,url出现+,空格,/,?,%,#,&,=等特殊 ...

  8. java 特殊字符 乱码_Java中文乱码特殊字符解决方案

    Java中文乱码&特殊字符解决方案 相信很多朋友遇到过Java的乱码问题,最近我也在解决一个"使用文本生成图片过程中中文以及特殊字符乱码"的问题:花了我大量时间,Debug ...

  9. java特殊字符分隔字符串_Java 根据一些特殊分割规则分割字符串

    例如:设计根据一些特殊分割规则,来分割字符串.QQ:123456789 当时没怎么考虑那么多情况,直接使用了String的split方法来进行分割. 分割字符串 str.split(regex[分割字 ...

最新文章

  1. oracle客户端下载 win8.1,WINDOWS8.1安装ORACLE客户端及配置
  2. 【C 语言】字符串模型 ( 两头堵模型 | 将 两头堵模型 抽象成业务模块函数 | 形参返回值 | 函数返回值 | 形参指针判空 | 形参返回值操作 )
  3. 工业机器人入门实用教程_机器学习实用入门
  4. spring mvc学习(49):返回json数据
  5. 迁移学习让深度学习更容易
  6. python牛客网编程题_一波优秀的自学编程语言网站
  7. Android----Google code android开源项目(二)
  8. mysql 模糊查询 s_MySql反向模糊查询
  9. Android编码规范05
  10. 以太坊上海协议之——达成Cosmos网络实现以太坊扩容协议
  11. Java对象实例化以及实例化方式
  12. 计算机辅助设计三是什么,计算机辅助设计提纲部分答案(三)
  13. Cocos Creater 获取和设置世界坐标
  14. 天蓝色在ps中的色值_天蓝色事件网格集成测试
  15. application/octet-stream
  16. linux修改默认22端口失败,【原创文章】修改亚马逊AWS EC2 LINUX系统SSH默认22端口失败的原因和解决办法...
  17. MySQL数据库id主键或密码使用MD5加密
  18. 量子计算机关键技术有哪些,实现量子通信的关键技术有哪些?
  19. canvas雨滴绘制总结(三)
  20. android lunch 选择写入脚本,Android源码编译之 lunch命令分析及user和userdebug编译选项区别...

热门文章

  1. ArduSub ROV无法前进
  2. STM32-(28):ADC模数转换(理论分析)
  3. 应用案例 | 港口货物与运输车辆如何更快找到彼此?成功配对方法在这里!
  4. 三步获得免费的“360随身WiFi”
  5. html中标签的src属性值,HTML frame 标签的 src 属性
  6. Python 拉丁超立方采样
  7. 【堡垒机】堡垒机到底有用不?国内哪家堡垒机好用?
  8. 基于Davenport风速谱两点时程模拟
  9. 计算机vfp等级考试用书,全国计算机等级考试教材系列:全国计算机等级考试(2级Visual FoxPro语言)精讲精练...
  10. tensorflow 物体识别