java语言中如何获取字符串中汉字的个数
【实例描述】
字符串中可以包含数字,字母、汉字或者其他字符。使用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,最后得到字符串中所有汉字的数量。
【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!
Java开发高端课程免费试学
大咖讲师+项目实战全面提升你的职场竞争力
- 海量实战教程
- 1V1答疑解惑
- 行业动态分析
- 大神学习路径图
相关推荐
更多2024-06-24
2024-06-24
2024-06-24
2024-06-24
达内就业喜报
更多>Java开班时间
-
北京 丨 12月25日
火速抢座 -
上海 丨 12月25日
火速抢座 -
广州 丨 12月25日
火速抢座 -
兰州 丨 12月25日
火速抢座 -
杭州 丨 12月25日
火速抢座 -
南京 丨 12月25日
火速抢座 -
沈阳 丨 12月25日
火速抢座 -
大连 丨 12月25日
火速抢座 -
长春 丨 12月25日
火速抢座 -
哈尔滨 丨 12月25日
火速抢座 -
济南 丨 12月25日
火速抢座 -
青岛 丨 12月25日
火速抢座 -
烟台 丨 12月25日
火速抢座 -
西安 丨 12月25日
火速抢座 -
天津 丨 12月25日
火速抢座 -
石家庄 丨 12月25日
火速抢座 -
保定 丨 12月25日
火速抢座 -
郑州 丨 12月25日
火速抢座 -
合肥 丨 12月25日
火速抢座 -
太原 丨 12月25日
火速抢座 -
苏州 丨 12月25日
火速抢座 -
武汉 丨 12月25日
火速抢座 -
成都 丨 12月25日
火速抢座 -
重庆 丨 12月25日
火速抢座 -
厦门 丨 12月25日
火速抢座 -
福州 丨 12月25日
火速抢座 -
珠海 丨 12月25日
火速抢座 -
南宁 丨 12月25日
火速抢座 -
东莞 丨 12月25日
火速抢座 -
贵阳 丨 12月25日
火速抢座 -
昆明 丨 12月25日
火速抢座 -
洛阳 丨 12月25日
火速抢座 -
临沂 丨 12月25日
火速抢座 -
潍坊 丨 12月25日
火速抢座 -
运城 丨 12月25日
火速抢座 -
呼和浩特丨12月25日
火速抢座 -
长沙 丨 12月25日
火速抢座 -
南昌 丨 12月25日
火速抢座 -
宁波 丨 12月25日
火速抢座 -
深圳 丨 12月25日
火速抢座 -
大庆 丨 12月25日
火速抢座