使用java代码判断一个字符串里是否包含中文字符

简介: 使用java代码判断一个字符串里是否包含中文字符

测试代码:

package unicode;
import org.apache.commons.lang3.StringUtils;
public class ChineseTest {
  public static void main(String[] args) {
    ChineseTest tool = new ChineseTest();
    System.out.println(tool.containsChineseCharacter("Helloab!?12D#asDSF!&#$"));
    System.out.println(tool.containsChineseCharacter("你好  "));
  }
  protected boolean containsChineseCharacter(final String s)
  {
    if (StringUtils.isNotEmpty(s))
    {
      for (int i = 0; i < s.length();)
      {
        final int codepoint = s.codePointAt(i);
        System.out.println("Code Point: " + codepoint);
        i += Character.charCount(codepoint);
        System.out.println("i: " + i + " CharCount: " + Character.charCount(codepoint));
        if (Character.UnicodeScript.of(codepoint) == Character.UnicodeScript.HAN)
        {
          return true;
        }
      }
    }
    return false;
  }
}

输出:Code Point: 72

i: 1 CharCount: 1

Code Point: 101

i: 2 CharCount: 1

Code Point: 108

i: 3 CharCount: 1

Code Point: 108

i: 4 CharCount: 1

Code Point: 111

i: 5 CharCount: 1

Code Point: 97

i: 6 CharCount: 1

Code Point: 98

i: 7 CharCount: 1

Code Point: 33

i: 8 CharCount: 1

Code Point: 63

i: 9 CharCount: 1

Code Point: 49

i: 10 CharCount: 1

Code Point: 50

i: 11 CharCount: 1

Code Point: 68

i: 12 CharCount: 1

Code Point: 35

i: 13 CharCount: 1

Code Point: 97

i: 14 CharCount: 1

Code Point: 115

i: 15 CharCount: 1

Code Point: 68

i: 16 CharCount: 1

Code Point: 83

i: 17 CharCount: 1

Code Point: 70

i: 18 CharCount: 1

Code Point: 33

i: 19 CharCount: 1

Code Point: 38

i: 20 CharCount: 1

Code Point: 35

i: 21 CharCount: 1

Code Point: 36

i: 22 CharCount: 1

false

Code Point: 20320

i: 1 CharCount: 1

true


相关文章
|
1天前
|
搜索推荐 Java Shell
8大Java排序方法(由简入繁),有代码详解和原理指导
8大Java排序方法(由简入繁),有代码详解和原理指导
6 0
|
1天前
|
Java Apache
Java代码使用POI导出的单元格加上边框和背景色
【5月更文挑战第3天】Java代码使用POI导出的单元格加上边框和背景色
13 0
|
1天前
|
Java Apache
Java代码使用POI导出的单元格的字体加粗设置
【5月更文挑战第3天】Java代码使用POI导出的单元格的字体加粗设置
13 1
|
4天前
|
传感器 数据采集 网络协议
Java串口通信:从十六进制字符串到字节数组的正确转换与发送
Java串口通信:从十六进制字符串到字节数组的正确转换与发送
20 4
|
5天前
|
Java
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
24 0
|
6天前
|
Java Spring
Java 效率编码 必备插件 Lombok 让代码更优雅
该内容是一个关于Lombok插件的教程摘要:介绍了Lombok用于减少Java开发中的模板代码,提升效率;讲解了如何在IntelliJ IDEA中安装Lombok插件,以及在pom.xml中添加依赖;并提到了@Data注解能自动生成getter/setter、equals、hashCode和toString方法,@Slf4j注解自动处理日志,@Builder用于构建对象,以及@AllArgsConstructor和@NoArgsConstructor注解生成构造函数。还鼓励探索更多Lombok的注解用法。
|
6天前
|
Java 关系型数据库 测试技术
Java代码一键生成数据库文档(案例详解)
Screw是一个自动化数据库文档生成工具,能根据数据库表结构快速生成简洁、多格式(HTML、Word、Markdown)的文档,支持MySQL、MariaDB等多数据库。它使用Freemarker模板,允许用户自定义样式。依赖包括HikariCP数据库连接池和对应JDBC驱动。通过在Java代码或Maven插件中配置,可方便生成文档。示例代码展示了如何在测试用例中使用Screw。文档效果依赖于数据库中的表和字段注释。
|
6天前
|
NoSQL Java API
java一行代码实现RESTFul接口
Spring Data REST是构建在Spring Data之上的库,可自动将repository转换为REST服务,支持JPA、MongoDB、Neo4j、GemFire和Cassandra。无需手动创建Service和Controller层。要开始,需配置JPA数据源,创建实体类和Repository接口。快速实现REST接口,只需引入spring-boot-starter-data-rest Maven依赖,并在Repository接口上添加@RepositoryRestResource注解。
|
6天前
|
Java
在Java中,如何将字符串转换为浮点数?
【4月更文挑战第30天】在Java中,如何将字符串转换为浮点数?
12 0
|
7天前
|
存储 Java C语言
【Java探索之旅】数据类型与变量 浮点型,字符型,布尔型,字符串型
【Java探索之旅】数据类型与变量 浮点型,字符型,布尔型,字符串型
15 0