Java 特殊字符处理

一)特殊字符

第一类:标点符号

ˇ¨`~ 々~‖∶"'`|·… — ~ - 〃「」『』〖〗【】()[]{}︻︼﹄﹃~ .,: ; ? ! ' - -- ..." "" ‖ &  ~ §

 

第二类:数学序号

ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ①②③④⑤⑥⑦⑧⑨⑩一二三四五六七八九十

 

第三类:数字符号

≈≡≠=≤≥<>≮≯∷±+-×÷/∫∮∝∞∧∨∑∏∪∩∈∵∴⊥‖∠⌒⊙≌∽√

 

第四类:特殊符号

§№☆★○●◎◇◆□■△▲※→←↑↓〓#&@\^_

 

备注:各种符号太多了,还是需要根据实际情况来处理。

 

二)特殊字符处理案例

原因:在项目中做附件上传功能的时候,由于附件下载URL中用了附件名称作为URL的一部分,但用户上传的附件名称有各种各样的特殊字符,所以在生成附件下载URL的时候,把所有的特殊字符替换成下划线。

 

注意:Pattern声明为全局静态变量,能避免每次处理特殊字符时,都需要重新匹配,减少性能的消耗。

 

实现源码:

package com.oysept.test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Java特殊字符处理
 * @author ouyangjun
 */
public class SpecialCharacter {
	
    // 使用正则表达式, 匹配特殊字符
    private static final Pattern pattern = Pattern.compile("[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]");
	
    /**
     * 把特殊字符全替换成下划线
     * @param character
     * @return
     */
    public static String getSpecialCharacter(String character) {
        Matcher m = pattern.matcher(character);
        return m.replaceAll("_").trim();
    }
	
    public static void main(String[] args) {
        String str = "*adCVs*12.fd'*&899的方法的¥……{}【】。,34_a _0*&水电费()^$$&*).{}AA+.|.)%*(*.[];’“‘”?"; 
        System.out.println("字符串替换前:" + str);
        System.out.println("字符串替换后:"+ getSpecialCharacter(str));
    }
}

特殊字符处理之后效果图打印:

 

识别二维码关注个人微信公众号

本章完结,待续,欢迎转载!
 
本文说明:该文章属于原创,如需转载,请标明文章转载来源!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值