获取特殊字符串中的汉字

    public static void main(String[] args) {
        //1. 可以在中括号内加上任何想要删除的字符,实际上是一个正则表达式
        String regExp="[\n`~!@#$%^&*()+-=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。, 、?]";

        //2. 这里是将特殊字符换为空字符串,""代表直接去掉
        String replace = "";

        //3. 要处理的字符串
        String str = "电单耗=[站电耗*站面积/(总面积-银行面积)+合计电]/[面积*0.2]";
        str = str.replaceAll(regExp,replace);
        System.out.println("去除特殊字符后的值:"+ str);

    }
方法2:

public static void main(String[] args) { 
String str = " 123abd 测试 a  空格 bb字符串 "; 
System.out.println("过滤出汉字:" + str.replaceAll("\\s*","").replaceAll("[^(\\u4e00-\\u9fa5)]","")); }
常用的正则表达式:


纯数字:^[0-9]*$
含有n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$

零和非零开头的数字:^(0|[1-9][0-9]*)$
非零开头的最多带两位小数的数字:^([1-9][0-9]*)(.[0-9]{1,2})?$
带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$
正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
汉字:^[\u4e00-\u9fa5]{0,}$
英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
长度为3-20的所有字符:^.{3,20}$
由26个英文字母组成的字符串:^[A-Za-z]+$
由26个大写英文字母组成的字符串:^[A-Z]+$
由26个小写英文字母组成的字符串:^[a-z]+$
由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$
中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$
 

猜你喜欢

转载自blog.csdn.net/weixin_55823910/article/details/127575652