• 招生咨询热线:4008-569-579 
  • 手机版
    用手机扫描二维码直达商品手机版
招生咨询热线
4008-569-579
机构主页 > 机构新闻 > java语言中如何获取字符串中汉字的个数
机构主页 > 机构新闻>java语言中如何获取字符串中汉字的个数

java语言中如何获取字符串中汉字的个数

来源:北京达内教育        时间:2023-05-26        热度:30℃        返回列表

【实例描述】

字符串中可以包含数字,字母、汉字或者其他字符。使用Character 类的isDigit()方法可以判断字符中的某个字符是否为数字,使用Character 类的isLetter()方法可以判断字符中的某个字符是否为字母。实例中将介绍一种方法用来判断字符串中的某个字符是否为汉字,通过此方法可以计算字符串中汉字的数量。实例的运行效果如图4.24 所示。


【实现过程】

在Eclipse 中新建项目ChineseCharacter,并在其中创建一个ChineseCharacter.java 文件。在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的字符串。我们在程序中使用matches()方法来统计该字符串中汉字的个数。核心代码如下所示:

protected void do_button_actionPerformed(ActionEvent e) {

String text = chineseArea.getText();                       // 获取用户输入

int amount = 0;                                            // 创建汉字数量计数器

for (int i = 0; i < text.length(); i++) {                  // 遍历字符串每一个字符

// 使用正则表达式判断字符是否属于汉字编码

boolean matches = Pattern.matches("^[\u4E00-\u9FA5]{0,}$", ""

+ text.charAt(i));

if (matches) {                                               // 如果是汉字

amount++;                                                     // 累加计数器

}

}

umField.setText(amount + "");                                 // 在文本框显示汉字数量

}

【代码解析】

本实例的关键点在于正则表达式的使用。Java 提供了Pattern 用于正则表达式的编译表示形式,该类提供的静态方法matches()可以执行正则表达式的匹配。该方法编译给定正则表达式并尝试给定输入与其匹配。如果要匹配的字符序列与正则表达式匹配则返回true,否则返回false。其声明语法如下:

public static boolean matches(String regex,CharSequence input);

【知识扩展】

使用正则表达式可以方便地进行字符串操作,正则表达式经常被用来验证用户输入的信息,如可以判断用户输入的格式是否正确。本实例中使用正则表达式来判断用户输入的字符串是否为汉字,如果为汉字则计数器加1,最后得到字符串中所有汉字的数量。

电话咨询

电话咨询

咨询电话:
4008-569-579
回到顶部

回到顶部