zoukankan      html  css  js  c++  java
  • java 判断字符串中是否包含中文并过滤掉中文

    java判断字符串中是否包含中文并过滤掉中文

    CreateTime--2017年9月6日08:48:59

    Author:Marydon

    1.判断字符串中是否包含中文方法封装

    /**
     * 判断字符串中是否包含中文
     * @param str
     *  待校验字符串
     * @return 是否为中文
     * @warn 不能校验是否为中文标点符号 
     */
    public static boolean isContainChinese(String str) {
        Pattern p = Pattern.compile("[u4e00-u9fa5]");
        Matcher m = p.matcher(str);
        if (m.find()) {
            return true;
        }
        return false;
    }

      说明:需要导入

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

    2.过滤中文

    /**
     * 过滤掉中文
     * @param str 待过滤中文的字符串
     * @return 过滤掉中文后字符串
     */
    public static String filterChinese(String str) {
        // 用于返回结果
        String result = str;
        boolean flag = isContainChinese(str);
        if (flag) {// 包含中文
            // 用于拼接过滤中文后的字符
            StringBuffer sb = new StringBuffer();
            // 用于校验是否为中文
            boolean flag2 = false;
            // 用于临时存储单字符
            char chinese = 0;
            // 5.去除掉文件名中的中文
            // 将字符串转换成char[]
            char[] charArray = str.toCharArray();
            // 过滤到中文及中文字符
            for (int i = 0; i < charArray.length; i++) {
                chinese = charArray[i];
                flag2 = isChinese(chinese);
                if (!flag2) {// 不是中日韩文字及标点符号
                    sb.append(chinese);
                }
            }
            result = sb.toString();
        }
        return result;
    }

      说明:isChinese(char)方法见文章:java-中文及特殊字符校验

    3.测试

    public static void main(String[] args) {
        String fileName = "test,中文";
        System.out.println(filterChinese(fileName));
    }
  • 相关阅读:
    git 常用命令
    flask汇总
    flask自定义转换器
    css,js,jquery的载入方式和属性控制
    python import xx和from xx import x 中的坑
    CPython中的GIL
    python装饰器的参数传递
    python函数中的参数(关键字参数,默认参数,位置参数,不定长参数)
    python 闭包
    Java数据类型和对象的引用
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/7482855.html
Copyright © 2011-2022 走看看