遇到一个java麻烦的问题 阅读的大哥大姐们,近刚开始学java语言,遇到一个问题,望解答!java字符采用Unicode字符集,汉字字符的编码是什么,或者说char c,c的范围是多少才表示汉字呢?(在一个字符串中包含数字,各种图形符号,汉字等其他国家标准字符,我该怎样提取汉字字符呢?) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 0x4e00 到 0x9fbb详细见http://oceannice.spaces.live.com/blog/cns!4DBDE991A8AB5200!183.entry [\u4e00-\u9fa5] 正则表达式提取下面是一个判断汉字的类:public class IsChineseOrEnglish { /** * create date:2009-2-10 author:Administrator * * @param args */ // GENERAL_PUNCTUATION 判断中文的“号 // CJK_SYMBOLS_AND_PUNCTUATION 判断中文的。号 // HALFWIDTH_AND_FULLWIDTH_FORMS 判断中文的,号 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.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) { return true; } return false; } /** * * create date:2009-2-10 author:Administrator * 判断一个字符串中是否含有汉字 * @param strName */ public static boolean isChinese(String strName) { char[] ch = strName.toCharArray(); for (int i = 0; i < ch.length; i++) { char c = ch[i]; if (isChinese(c) == true) { return true; } } return false; } public static void main(String[] args) { // // Random r = new Random(); // // for (int i = 0; i < 20; i++) // // System.out.println(r.nextInt(10) + 1); // isChinese("き"); System.out.println(isChinese('你')); System.out.println(isChinese("dsf--8$dsf")); }} [Quote=引用 2 楼 shibenjie 的回复:][\u4e00-\u9fa5] 正则表达式提取 下面是一个判断汉字的类: 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.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) { return true; } return false; } 这个方法看不懂 ,能不能解释一下?在网上也没有查到相关的。 汉字有多路编码方式,比如GB2312以及兼容它的GBK,UNICODE是另一种。JAVA用的就是UNICODE编码。 当然,UNICODE不只是给汉字编码,而是给全世界几乎所有的文字都做了统一的编码。 两个JAVA文件之间如何传递值 各位大大发本适合初学者的好书…… SWT布局与窗口大小控制问题 使用org.apache.jarkata.oro库进行字符串正则匹配的问题 struts Action提供辅助功能 认证authorization? 怎么唤出后台运行的程序 JDBC问题 如何在Linux下实现Java调用C语言编写的程序 很简单的问题,我就是想不通 求助:驱动问题。db2 ,webspere! ji 我是JAVA新手, 关于SQL数据库的问题, 求助。。。 如何得到刚插入那条记录的id?
正则表达式提取
下面是一个判断汉字的类:
public class IsChineseOrEnglish { /**
* create date:2009-2-10 author:Administrator
*
* @param args
*/ // GENERAL_PUNCTUATION 判断中文的“号
// CJK_SYMBOLS_AND_PUNCTUATION 判断中文的。号
// HALFWIDTH_AND_FULLWIDTH_FORMS 判断中文的,号
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.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) { return true; } return false; } /**
*
* create date:2009-2-10 author:Administrator
* 判断一个字符串中是否含有汉字
* @param strName
*/
public static boolean isChinese(String strName) { char[] ch = strName.toCharArray(); for (int i = 0; i < ch.length; i++) { char c = ch[i]; if (isChinese(c) == true) {
return true; } }
return false; } public static void main(String[] args) {
//
// Random r = new Random();
//
// for (int i = 0; i < 20; i++)
//
// System.out.println(r.nextInt(10) + 1); // isChinese("き"); System.out.println(isChinese('你'));
System.out.println(isChinese("dsf--8$dsf")); }}
[\u4e00-\u9fa5]
正则表达式提取
下面是一个判断汉字的类:
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.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) { return true; } return false; }
这个方法看不懂 ,能不能解释一下?在网上也没有查到相关的。