java实现检测是否字符串中包含中文

要判断一个字符串是否包含中文,可以考虑使用正则表达式来实现。以下是一个java实现检测字符串中是否有中文字符的代码示例:

public static boolean isContainsChinese(String str) {
    Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]");
    Matcher matcher = pattern.matcher(str);
    return matcher.find();
}

这段代码使用了正则表达式,其中 [\u4e00-\u9fa5] 匹配了所有的中文字符。

下面是一个检测字符串中是否包含中文字符的完整攻略:

  1. 引入 java.util.regex 包中的类库。
  2. 构造正则表达式,定义中文字符的Unicode编码范围,例如 [\u4e00-\u9fa5] 匹配所有的中文字符。
  3. 使用 Pattern 类将定义好的正则表达式编译为一个正则表达式对象。
  4. 使用 Matcher 类来处理匹配操作的字符串,调用 find() 方法搜索该字符串中是否有符合正则表达式的子序列。
  5. 如果 find() 方法返回 true,则找到了中文字符,返回 true;否则未找到,返回 false。

以下是一个在控制台模拟用户输入并输出判断结果的示例:

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

public class ChineseChecker {
    public static boolean isContainsChinese(String str) {
        Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]");
        Matcher matcher = pattern.matcher(str);
        return matcher.find();
    }

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入需要判断的字符串:");
        String str = input.nextLine();
        if (isContainsChinese(str)) {
            System.out.println("包含中文字符!");
        } else {
            System.out.println("不包含中文字符!");
        }
    }
}

运行此程序,可以先输入一个字符串,再输出判断结果。例如,输入 "hello 你好",输出 "包含中文字符!"。

另外一个检测字符串中是否包含中文字符的代码示例如下所示:

public class ChineseChecker {
    public static boolean containsChinese(String str) {
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (isChinese(c)) {
                return true;
            }
        }
        return false;
    }

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

    public static void main(String[] args) {
        String str1 = "Hello World!";
        System.out.println(str1 + "中是否包含中文字符?" + containsChinese(str1));

        String str2 = "你好,世界!";
        System.out.println(str2 + "中是否包含中文字符?" + containsChinese(str2));
    }
}

此示例中,containsChinese(str) 方法中遍历了字符串中所有字符,利用 isChinese(c) 方法来判断每个字符是否为中文字符。isChinese(c) 方法使用 Character.UnicodeBlock.of(c) 来判断每个字符所属的 UnicodeBlock 是否包含中文字符。如果包含,则返回 true;否则返回 false。

运行此示例,会输出两行结果:

Hello World!中是否包含中文字符?false
你好,世界!中是否包含中文字符?true

第一行的结果为 false,因为没有中文字符,第二行的结果为 true,因为中文字符被成功检测到了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现检测是否字符串中包含中文 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java 8 Stream操作类型及peek示例解析

    Java 8 Stream操作类型及peek示例解析 Java 8引入了Stream API,可用于对集合和数组进行函数式操作。本篇攻略将介绍Java 8中Stream API的操作类型,并详细讲解peek()操作的定义、用法和示例。 Stream API操作类型 Stream API包含两种类型的操作:Intermediate(中间操作)和Terminal…

    Java 2023年5月26日
    00
  • Java实现SHA1加密代码实例

    Java实现SHA1加密代码实例 什么是SHA1加密 SHA1 (Secure Hash Algorithm 1)是一种被广泛使用的密码散列函数,经常用于数据验证和加密技术中。SHA1将任意大小的数据(输入)映射到固定大小的数据(输出),通常为160位的二进制值。SHA1加密算法在现代密码学里面被广泛应用,SHA1计算出来的摘要信息是不可逆的。 怎么用Jav…

    Java 2023年5月23日
    00
  • 常见的Java ORM框架有哪些?

    Java ORM(Object-Relational Mapping)框架是用于简化Java应用程序与关系数据库之间的数据映射、数据管理和数据操作的工具,常见的Java ORM框架有以下几种: Hibernate:Hibernate是一个广泛应用的Java ORM框架,支持JPA(Java Persistence API)规范,其主要优点是开发效率高、功能强…

    Java 2023年5月11日
    00
  • json转换成java对象示例

    下面是json转换成Java对象示例的完整攻略。 1. 确定json字符串格式 在转换之前,需要了解目标json字符串的格式。这里以如下的json字符串为例: { "name": "张三", "age": 20, "gender": "男", "ho…

    Java 2023年5月26日
    00
  • Java实现在线聊天功能

    Java实现在线聊天功能的完整攻略 如果希望使用Java实现在线聊天功能,可以采用Socket编程以及WebSocket协议两种方式,下面将详细讲解这两种方式的实现方法和步骤。 Socket编程 Socket编程是一种基于TCP/IP协议的底层通信方式,使用该方式可以在两个设备间建立连接,并进行数据的双向传输。下面是实现在线聊天功能的步骤: 在服务器端(例如…

    Java 2023年5月19日
    00
  • Java内省之Introspector解读

    Sure! 简介 Java 内省是指利用反射机制来获取某个类的信息,包括类的属性、方法和事件等,还有调用类的方法。简单来说,Java内省是用Java的反射机制来操作JavaBean的信息。JavaBean是一种约定,符合特定命名规范的Java类,具有无参构造器,并且有一系列的读写方法。JavaBean作为一种Java组件形式,它的易用性得到广泛认可。Java…

    Java 2023年5月20日
    00
  • Springboot启动流程详细分析

    Spring Boot 启动流程详细分析 Spring Boot 是一个基于 Spring 框架的快速应用开发框架,旨在尽可能简化 Spring 应用程序的创建、开发和部署。在 Spring Boot 的背后有一套强大的启动机制和自动化配置。 本文将深入探索 Spring Boot 的启动流程,包括 Spring Boot 的三种启动方式和启动核心类、主函数…

    Java 2023年5月15日
    00
  • Java如何使用Set接口存储没有重复元素的数组

    首先,Set接口是Java中的一个集合接口,它继承自Collection接口,而不同于Collection接口,Set接口中的元素是不允许重复的,因为Set中的数据结构一般是使用哈希表来实现的,哈希表的特性就是保证元素的唯一性。 以下是Java如何使用Set接口存储没有重复元素的数组的完整攻略: 创建Set对象 我们可以使用Java中的HashSet类来创建…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部