package com.wlkj.util; import java.util.regex.Matcher; import java.util.regex.Pattern; import net.sourceforge.pinyin4j.PinyinHelper; public class ChineseUtil { /** * 判断中文字符 * @param c * @return */ public 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.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION){ return true; } return false; } /** * 包含中文字符 * @param str * @return */ public static boolean containsChinese(String str){ char[] ch = str.toCharArray(); for(char c : ch){ if(isChinese(c)){ return true; } } return false; } /** * 是否中文(非标点符号) * @param c * @return */ public static boolean isChineseWord(char c) { char[] ch = {c}; Pattern pattern = Pattern.compile("([\u4E00-\uFA29]|[\uE7C7-\uE7F3])"); Matcher matcher = pattern.matcher(new String(ch)); return matcher.find(); } /** * 包含汉字(非标点符号) * @param name * @return */ public static boolean containsChineseWords(String name) { Pattern pattern = Pattern.compile("^.*([\u4E00-\uFA29]|[\uE7C7-\uE7F3])+.*$"); Matcher matcher = pattern.matcher(name); return matcher.find(); } /** * 转换成拼音字母缩写 * @param str * @return abbr */ public static String toPinyinAbbr(String str){ String abbr = ""; for(char c : str.toCharArray()){ if(ChineseUtil.isChineseWord(c)){ abbr += PinyinHelper.toHanyuPinyinStringArray(c)[0].substring(0, 1).toUpperCase(); } } return abbr; } public static void main(String[] args) { System.out.println(isChinese('め'));// false System.out.println(isChineseWord('我'));// true System.out.println(containsChinese("a我b"));// true System.out.println(containsChineseWords("a,b")); // false } }
相关推荐
### Java判断字符串是否包含汉字的方法 在开发过程中,有时我们需要判断一个字符串是否包含汉字,并根据判断的结果执行不同的逻辑。这通常出现在需要处理多语言输入的情况下,例如用户输入验证、文本分析等场景。...
【Java 判断字符串中文英文工具类】 在Java编程中,有时我们需要判断一个字符串中的字符是否为中文或英文。为了实现这个功能,我们可以创建一个工具类,利用Java的`Character`类和正则表达式进行判断。以下是一个...
在实际项目中,这样的工具类对于处理中文字符的检测和统计是非常有用的,能够提高代码的可读性和复用性。在Java中处理字符串,特别是涉及到特殊字符集如中文时,对字符编码的理解是必不可少的。
Java 金额数字转中文工具类是将阿拉伯数字转换为汉字表示的工具类,具有实用的参考价值。本工具类主要用于将金额数字转换为中文表示,例如将12345.67转换为「一万二千三百四十五元六十七分」。本工具类的实现主要...
Java数字转汉字工具类详解 Java数字转汉字工具类是指将数字转换为汉语中人民币的大写的工具类。该工具类主要用于处理金额的转换,提供了一种将数字转换为汉语中人民币的大写的解决方案。 在Java数字转汉字工具类中...
Java日期工具类 1、日期的各种格式化 2、获取当前年度 3、获取当前月份 4、获取当前天号数 5、获取当前时间往前推一个月的时间 6、获取上个月("MMM yyyy") 7、获取上个月("yyyymm") 8、获取上个月("yyyy-mm") 9、...
Java 实现数字转换人民币中文大写工具 Java 实现数字转换人民币中文大写工具是指使用 Java 语言将数字转换为人民币中文大写格式的工具。该工具具有很高的实用价值,特别是在人事业务系统开发中,经常需要将数字转换...
D:\002 我的工具类\006 汉字转换成拼音\SpellUtils.java D:\002 我的工具类\007 字符串 D:\002 我的工具类\007 字符串\StringUtils.java D:\002 我的工具类\008 校验 D:\002 我的工具类\008 校验\一起使用 D:\002 我...
不需要关心接受的字符串编码是UTF_8还是GBK,还是ios-8859-1,自动转换为utf-8编码格式,无需判断字符串原有编码,用法://处理编码String newStr = GetEncode.transcode(oldStr);
### Java正则表达式判断字符串是否包含中文 在日常的软件开发过程中,我们经常会遇到需要对输入的字符串进行校验的情况。例如,在处理用户输入、文本分析或数据清洗时,可能需要判断一个字符串中是否包含中文字符。...
### JAVA公历农历换算工具类知识点解析 #### 一、概述 在软件开发中,日期处理是一项常见的需求。特别是对于具有悠久历史文化的国家和地区,如中国,公历与农历之间的转换尤为常见。本篇文章将深入分析一个JAVA...
1.删除字符 2.去空格 3.去除所有空格和特殊字符 4.判断邮箱 5.字符串集合转字符串 6.只保留汉字 7.关键词前后是否包含英文字母 8.去除字符串中的附件 9.获取下标单个位置和所有位置
因此,在这篇“Java判断中文字符串长度的简单实例”中,作者提供了几种计算字符串长度的方法,尤其强调了如何正确计算含有中文字符的字符串长度。 首先,Java中字符串的长度使用`.length()`方法来获取,但这个方法...
GB2312和GBK是中国大陆广泛使用的简体中文编码,其中GBK是GB2312的扩展,包含更多的汉字和其他字符。UTF-8是Unicode的一种变长编码方式,它可以表示全世界几乎所有的字符,而且在互联网上使用最为广泛。 “获取编码...
Java编码检测工具类是Java开发中非常实用的一个组件,它能够帮助开发者准确地识别和处理各种文件的编码格式。在处理跨平台或者不同系统间的数据交换时,编码问题常常成为困扰,因为不同的操作系统和程序可能使用不同...
资源名称:DateUtil 日期时间转换工具类 内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关...
总结来说,“Java实现中文转拼音.rar”提供的工具类是一个便捷的Java解决方案,它能够帮助开发者将中文汉字转换为拼音。通过解压并运行`PinyinTest`,你可以快速验证其功能并集成到自己的项目中,为处理中文文本带来...
Java判断中英文符号、标点的实现 Java判断中英文符号、标点的实现是Java开发中一个重要的知识点,本篇文章主要介绍了Java中判断中英文符号、标点的实现方法。 在Java中,判断中英文符号、标点可以使用UnicodeBlock...
根据给定文件的信息,我们可以总结出以下几个主要的知识点: ### 1.... ... - `&` 转换为 `&...在实际应用中,这些方法通常会被封装成工具类的一部分,并广泛应用于前端表单验证、后端数据校验等场景。
对于处理中文和拼音,`PinyinUtil`工具类可以帮助转换汉字到拼音,这对于搜索、排序或生成友好URL非常有用。例如,`getPinyin(String hanzi)`可以返回汉字的全拼。 JSON工具类如`JsonUtil`则处理JSON数据的序列化和...