Java判断字符串是否含有乱码实例代码

 更新时间:2018年11月12日 10:44:14   作者:风远陌  
本文通过实例代码给大家介绍了Java判断字符串是否含有乱码的方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

具体代码如下所示:

/**
  * 判断字符是否是中文
  *
  * @param c 字符
  * @return 是否是中文
  */
 public static boolean isChinese(char c) {
  Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
  if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
    || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
    || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
    || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
    || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
    || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
   return true;
  }
  return false;
 }
 /**
  * 判断字符串是否是乱码
  *
  * @param strName 字符串
  * @return 是否是乱码
  */
 public static boolean isMessyCode(String strName) {
  Pattern p = Pattern.compile("\s*|t*|r*|n*");
  Matcher m = p.matcher(strName);
  String after = m.replaceAll("");
  String temp = after.replaceAll("\p{P}", "");
  char[] ch = temp.trim().toCharArray();
  float chLength = ch.length;
  float count = 0;
  for (int i = 0; i < ch.length; i++) {
   char c = ch[i];
   if (!Character.isLetterOrDigit(c)) {
    if (!isChinese(c)) {
     count = count + 1;
    }
   }
  }
  float result = count / chLength;
  if (result > 0.4) {
   return true;
  } else {
   return false;
  }
 }
 public static void main(String[] args) {
  System.out.println(isMessyCode("韩顺平"));
  System.out.println(isMessyCode("你好"));
 }

总结

以上所述是小编给大家介绍的Java判断字符串是否含有乱码实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 了解JAVA Future类

    了解JAVA Future类

    Future是并发编程中的一种设计模式,Future它代表一个异步计算的结果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面小编和大家来一起学习一下吧
    2019-06-06
  • 怎样给Kafka新增分区

    怎样给Kafka新增分区

    这篇文章主要介绍了怎样给Kafka新增分区问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • SpringBoot单元测试使用@Test没有run方法的解决方案

    SpringBoot单元测试使用@Test没有run方法的解决方案

    这篇文章主要介绍了SpringBoot单元测试使用@Test没有run方法的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Spring Boot 读取静态资源文件的方法

    Spring Boot 读取静态资源文件的方法

    本篇文章主要介绍了Spring Boot 读取静态资源文件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 23种设计模式(15)java解释器模式

    23种设计模式(15)java解释器模式

    这篇文章主要为大家详细介绍了23种设计模式之java解释器模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • java中extends与implements的区别浅谈

    java中extends与implements的区别浅谈

    java中extends与implements的区别浅谈,需要的朋友可以参考一下
    2013-03-03
  • 详解JAVA类加载机制(推荐)

    详解JAVA类加载机制(推荐)

    这篇文章主要介绍了JAVA类加载机制的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Java接口的作用_动力节点Java学院整理

    Java接口的作用_动力节点Java学院整理

    这篇文章主要介绍了Java接口的作用,涉及到接口的规范相关知识,需要的的朋友参考下
    2017-04-04
  • 创建好SpringBoot项目后但是找不到Maven的解决方法

    创建好SpringBoot项目后但是找不到Maven的解决方法

    在使用IDEA专业版创建好SpringBoot项目后,发现上方导航栏的运行按钮是灰色的,而且左侧导航栏的pom.xml的图标颜色也不是正常的,点开右侧导航栏的Maven后,发现Maven找不到,所以本文介绍了创建好SpringBoot项目后但是找不到Maven的解决方法,需要的朋友可以参考下
    2024-10-10
  • 如何在 Java 中利用 redis 实现 LBS 服务

    如何在 Java 中利用 redis 实现 LBS 服务

    基于位置的服务,是指通过电信移动运营商的无线电通讯网络或外部定位方式,获取移动终端用户的位置信息,在GIS平台的支持下,为用户提供相应服务的一种增值业务。下面我们来一起学习一下吧
    2019-06-06

最新评论