• 技术文章 >Java >java教程

    Java如何判断字符串中是否包含中文并过滤中文的方法分享

    黄舟黄舟2017-09-08 10:56:13原创1118
    这篇文章主要为大家详细介绍了java判断字符串中是否包含中文,并过滤掉中文,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    java判断字符串中是否包含中文并过滤掉中文,具体内容如下

    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));
    }

    以上就是Java如何判断字符串中是否包含中文并过滤中文的方法分享的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Java 字符串 是否
    上一篇:Java如何利用jna调用c#中dll的示例 下一篇:Java中关于反射机制的实例详解
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 一文带你认识Java栈和队列• 一文掌握Java8新特性Stream流的概念和使用• Java线程学习之并发编程知识点• 完全掌握Java中的抽象类和接口• Java中的set集合如何理解
    1/1

    PHP中文网