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日

相关文章

  • Spring下Filter过滤器配置全局异常处理的详细步骤

    首先让我们来了解一下Filter和全局异常处理的概念: Filter是Web应用中的过滤器,用于对请求进行过滤和处理,可以在处理请求之前和之后进行一些额外的处理或者过滤,同时也可优化代码性能、保护系统安全、统一处理日志等。 全局异常处理是指处理在应用程序中未被捕获的所有异常,避免应用程序因为未捕获异常而崩溃或者无法继续正常工作。 因此,我们可以结合Filte…

    Java 2023年5月27日
    00
  • Java Arrays工具类用法详解

    我来为您详细讲解“Java Arrays工具类用法详解”的完整攻略。 Java Arrays 工具类用法详解 简介 在 Java 中,Arrays 是一个提供了很多操作数组的静态工具类。其提供了一些静态方法,用于对数组进行操作,如排序、搜索、赋值等。本篇攻略将详细介绍 Arrays 的使用方法。 Arrays 类的静态方法 Arrays 类包含了很多静态方法…

    Java 2023年5月26日
    00
  • java微信公众号开发第一步 公众号接入和access_token管理

    下面我将详细讲解Java微信公众号开发中,公众号接入和access_token管理的完整攻略。 公众号接入 公众号接入是指将你的微信公众号与微信平台进行绑定,以便在微信平台上管理和运营你的公众号。以下是接入的具体步骤: 步骤一:注册微信公众号和开发者账号 要进行公众号接入,首先需要注册一个微信公众号,并且在微信公众平台上注册一个开发者账号。 步骤二:认证公众…

    Java 2023年5月26日
    00
  • Java配置 JDK开发环境搭建及环境变量配置详细图文教程

    下面我将为您详细说明如何在电脑上配置Java JDK开发环境及环境变量的步骤。 配置Java JDK开发环境搭建 1. 下载安装Java JDK 在官网下载Java JDK安装包,本文以JDK1.8为例。 2. 安装Java JDK 打开下载的安装包,一步一步按照提示进行安装即可。 3. 配置环境变量 右击“计算机”,选择“属性”,在弹出的界面左侧点击“高级…

    Java 2023年5月23日
    00
  • 什么是Java内嵌?

    Java内嵌是什么? Java内嵌是指在其他应用程序或者脚本语言中嵌入Java代码并执行的过程,可以提高程序的灵活性和可扩展性。 Java内嵌的使用攻略 1. 准备工作 在使用Java内嵌之前,我们首先要确定所需的Java环境是否已经配置好,并且需要获取相关的Jar包。 2. 编写Java代码 我们编写一个简单的Java类代码,类名为Hello,该类中包含一…

    Java 2023年5月11日
    00
  • jsp连接MySQL实现插入insert操作功能示例

    下面是“jsp连接MySQL实现插入insert操作功能示例”的详细攻略。 需求分析 我们需要实现一个能够连接MySQL数据库,实现插入操作的jsp页面。该页面应该具备以下功能: 能够与MySQL数据库建立连接。 能够从jsp页面获取用户输入的数据。 能够将用户输入的数据插入到MySQL数据库中。 实现步骤 步骤一:准备工作 首先,我们需要在本地安装好MyS…

    Java 2023年6月15日
    00
  • java中的DateTime的具体使用

    关于Java中DateTime的使用,我来说一下。 什么是DateTime Java中的DateTime类是Java 8引入的日期时间API的一部分,位于java.time包中。它提供了处理日期、时间、时区和持续时间的功能,使得在应用程序中操作日期和时间变得更加方便和易读。 DateTime的常用方法 这里列出一些DateTime类常用的方法: now()方…

    Java 2023年5月20日
    00
  • IntelliJ IDEA 2020 安装和常用配置(推荐)

    IntelliJ IDEA 2020 安装和常用配置 安装 IntelliJ IDEA 2020 下载 IntelliJ IDEA 2020 的安装程序,可以到官方网站 https://www.jetbrains.com/idea/ 下载。 安装安装程序,一路默认即可,安装完成后启动软件。 常用配置 1. 设置编码格式 在项目中设置编码格式非常重要,可以避免…

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