- 浏览: 501114 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (191)
- Android学习 (3)
- jsp/servlet (2)
- java学习 (44)
- 数据库 (28)
- GWT开发学习 (8)
- 开发中问题 (15)
- JavaScript (48)
- 正则表达式 (1)
- svn配置 (1)
- C# (5)
- SSH (8)
- 找工作面试用 (5)
- DWR开发学习 (0)
- CSS学习 (4)
- AJAX学习 (1)
- Swing (1)
- Json (3)
- Jquery (4)
- Java 网络编程 (1)
- 管理相关 (2)
- Weblogic (1)
- 开发模式 (1)
- web前端 (6)
- 响应式设计 (1)
- Angular (5)
- 其它 (1)
- LESS (1)
- AngularJS (1)
- 负载并发、性能 (4)
- 数据结构与算法 (1)
最新评论
-
世界尽头没有你:
Java并发编程与高并发解决方案网盘地址:https://pa ...
java处理高并发高负载类网站的优化方法 -
叮咚可乐名:
Java并发编程与高并发解决方案网盘地址:https://pa ...
java处理高并发高负载类网站的优化方法 -
叮咚可乐名:
Java并发编程和高并发解决方案视频课程网盘地址:https: ...
java处理高并发高负载类网站的优化方法 -
putonyuer:
如果不是转载 , 要点总结的非常好 , 牛逼。
生产者消费者模式浅析 -
daxun1983:
爱得发疯
java判断是否为汉字和是否有汉字的方法
public boolean vd(String str){ char[] chars=str.toCharArray(); boolean isGB2312=false; for(int i=0;i<chars.length;i++){ byte[] bytes=(""+chars[i]).getBytes(); if(bytes.length==2){ int[] ints=new int[2]; ints[0]=bytes[0]& 0xff; ints[1]=bytes[1]& 0xff; if(ints[0]>=0x81 && ints[0]<=0xFE && ints[1]>=0x40 && ints[1]<=0xFE){ isGB2312=true; break; } } } return isGB2312; }
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
这两个包,接下来是代码
public boolean isNumeric(String str) { Pattern pattern = Pattern.compile(”[0-9]*”); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ) { return false; } return true; } java.lang.Character.isDigit(ch[0])
-----------------另一种-----------------
public static void main(String[] args) { int count = 0; String regEx = "[\\u4e00-\\u9fa5]"; //System.out.println(regEx); String str = "中文fdas "; //System.out.println(str); Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); while (m.find()) { for (int i = 0; i <= m.groupCount(); i++) { count = count + 1; } } System.out.println("共有 " + count + "个 "); }-------------------------------------------------------------------
判断java String中是否有汉字的方法
java用的是Unicode 编码char 型变量的范围是0-65535 无符号的值,可以表示 65536个字符,基本上地球上的字符可被全部包括了,实际中,我们希望判断一个字符是不是汉字,或者一个字符串里的字符是否有汉字来满足业务上的需求,String类中有个这样的方法可得到其字符长度length() ,看下面例子,
String s1 = "我是中国人"; String s2 = "imchinese"; String s3 = "im中国人"; System.out.println(s1+":"+new String(s1).length()); System.out.println(s2+":"+new String(s2).length()); System.out.println(s3+":"+new String(s3).length());
OUTPUT:
我是中国人:5
imchinese:9
im中国人:5
看到了吧,字符串里如果有双字节的字符java就把每个字符都按双字节编码,如果都是单字节的字符就按单字节编码
于是按照以上的规律,结合一位QQ昵称 ?G茶?I珠海 兄的提示由以下解决方法,就是判断字符串的长度和字符字节的长度是否相同来判断是否有双字节的字符
System.out.println((s1.getBytes().length == s1.length())?"s1无汉字":"s1有汉字"); System.out.println((s2.getBytes().length == s2.length())?"s2无汉字":"s2有汉字"); System.out.println((s3.getBytes().length == s3.length())?"s3无汉字":"s3有汉字");
OUTPUT:
s1有汉字
s2无汉字
s3有汉字 //
且慢,这样诚然可以判断出来一个串中是否有双字节编码的字符,但是要精确判断是否有汉字就有些麻烦了,我们知道还有许多其他国家的字符在Unicode中是双字节的.
于是,需要进一步确定汉字的编码范围怎么确定呢,我用了一个本办法那就是现在记事本输出0-65535之间的字符,通过观察发现第一个汉字是'一'最后一个是'??'(现在我也不认识);这下好了判断汉字就容易多了比如我们可以通过比较字符的编码范围,最后给大家一些我试验的结果汉字基本集中在[19968,40869]之间,共有20901个汉字(是不是少了点,算算你能认识多少)
发表评论
-
java synchronized详解
2015-05-18 07:55 808记下来,很重要。 Java语言的关键字,当它用来修饰一个方 ... -
用java数组实现BigInt超大整数设计
2015-04-18 14:04 3415中兴的一道笔试题:如果系统要使用超大整数(超过long长度范 ... -
JAVA学习路线
2015-01-23 08:10 998分享个JAVA学习路线觉得不好的,大家可以提出来我补充。 ... -
java处理高并发高负载类网站的优化方法
2015-01-19 09:02 1721一:高并发高负载类网站关注点之数据库 没错,首先是数据 ... -
查找某个类所在jar包
2014-05-14 15:44 1102package com.test; impor ... -
java 多线程学习
2013-12-23 14:13 829线程的同步 由于同一进程的多个线程共享同一片存储空间,在 ... -
java的集合类【转】
2013-07-29 15:25 863在JDK API中专门设计了一组类,这组类的功能就是实 ... -
ssh框架搭建教程
2012-12-26 15:01 1033ssh框架搭建教程,详细参照附件,附件中,有部分是如果报错: ... -
java读取目录下所有文件,转换编码后输出
2012-09-21 17:18 2463import java.io.BufferedReader; ... -
JAVA 实现jpg/tif/bmp 等图片之间格式得互相转换
2012-09-20 09:39 3066. 刚刚工作中遇到 tif 图片的转换,开始以为只要 ... -
Java中对数字格式化
2012-09-13 14:06 902package formatnumber; import j ... -
java 获取绝对路径
2012-08-30 19:53 1039java 获取绝对路径 原文地址:http:// ... -
Java读取Properties文件的方法
2012-08-24 14:15 10702009-02-10 22:05 Java读取Prope ... -
enctype="multipart/form-data"中Form参数的获取
2012-08-22 17:40 3064enctype="multipar ... -
Java日期操作类(DateFormat、SimpleDateFormat)
2012-08-09 20:29 21332012-05-24 16:17 Java日期操作类(D ... -
Struts Tiles框架实例(转) tiles布局
2012-07-31 10:49 13401.在你的struts配置文件struts-config.xm ... -
拦截器配置错误:The content of element type "package" must match "(result-types?,interce
2012-06-01 00:27 952在编写后台登陆模块时,将许多默认的设置放在一个名为defaul ... -
用MyEciplse时 some character can not mapped using "iso-8859-1" character encoding
2012-02-02 15:27 850如果你常常用 Eclipse 或者 MyEclipse ,那你 ... -
java编译错误 找不到符号
2011-11-15 10:35 3222java编译错误 找不到符号 可以把classpat ... -
DWR开发之简单HelloWorld过程
2011-10-22 21:58 0一、
相关推荐
### Java判断字符串是否包含汉字的方法 在开发过程中,有时我们需要判断一个字符串是否包含汉字,并根据判断的结果执行不同的逻辑。这通常出现在需要处理多语言输入的情况下,例如用户输入验证、文本分析等场景。...
java 判断字符串是否是中文 共总结了6种方法。。。。
总的来说,无论是Scala还是Java,都有多种方法来处理简体和繁体中文的转换与识别。选择哪种方法取决于具体的需求,包括性能、准确性和项目依赖等因素。对于大型项目,建议使用稳定的第三方库,因为它们通常经过充分...
通过本文的学习,我们不仅了解了如何使用 Java 的正则表达式来判断一个字符串中是否包含中文字符,还深入了解了 Java 中正则表达式的相关 API 和基本原理。这对于从事 Java 开发的技术人员来说是非常实用且必要的...
至于判断字符串中是否有连续的中文字符,我们可以稍微修改上述代码,添加一个额外的条件来检查当前字符和下一个字符是否都是中文。这里是一个可能的实现: ```java public static boolean hasConsecutiveChinese...
在Java编程语言中,判断一个字符串是否包含中文字符并找到这些字符的位置是一项常见的任务。这在处理中文数据、文本分析或者进行国际化应用时尤为关键。本文将详细介绍如何使用Java实现这个功能。 首先,我们需要...
`checkChineseName`方法用于验证是否为有效的中文姓名,正则表达式为: ```java "^[\u4e00-\u9fa5]+$" ``` 这个表达式利用Unicode范围来匹配中文字符,`[\u4e00-\u9fa5]`表示所有常用汉字的Unicode编码范围。 ### 6...
为了方便你直接使用这些功能,你可以将以上代码保存到名为`Java取得字符串中汉字字符串.java`和`判断是否为空白字符串.java`的两个Java文件中。在你的项目中导入并使用这些类,它们将帮助你有效地处理字符串中的汉字...
在Java编程语言中,判断一个字符串是否包含中文字符或英文字符是常见的需求,这主要涉及到字符编码和字符串处理的知识。本文将深入探讨如何利用Java进行这样的判断。 首先,我们需要了解字符编码的基础。在计算机中...
总结来说,Java中判断字符串是否包含汉字有多种方式,可以根据实际需求选择合适的方法。第一种方法适用于GB2312编码的字符串,而第二种和第三种方法则更通用,能识别Unicode编码的汉字。了解这些方法有助于编写更...
### Java判断字符串是否为汉字的方法 #### 理解GB2312编码 GB2312是一种中文字符编码标准,主要在中国大陆使用。它包含了6763个汉字和682个其他图形符号,是最早被广泛接受的中文编码之一。GB2312中的汉字编码范围...
这部分的核心逻辑封装在`getStrokeCount`方法中,该方法有两重重载形式:一个接收单个字符参数,另一个接收两个整数参数表示汉字的高字节和低字节。 #### 3. GB2312编码与笔画数映射 为了准确地获取每个汉字的笔画...
### Java判断文件编码的方法 在Java开发中,经常会遇到需要处理不同编码格式的文件的情况。为了确保程序能够正确解析文件内容,必须先判断文件的编码格式。本文将详细介绍如何使用Java来判断文件是否为UTF-8或GBK...
- 处理多音字:有些汉字有多个读音,需要根据上下文判断正确的拼音。 - 非汉字字符:处理文本时,可能遇到标点符号、数字和其他非汉字字符,需要正确处理它们。 总之,Java提取汉字首字母是一个涉及字符编码、...
- **功能**: 检查输入字符串是否表示一个合法的小数(包括整数部分和小数部分)。 - **参数**: - `input`: 需要检查的字符串。 - `upper`: 整数部分的最大位数。 - `lower`: 小数部分的最大位数。 - `minus`: ...
首先,了解Unicode编码对于掌握判断字符串中是否包含中文的方法至关重要。Unicode为世界上几乎所有的字符都提供了唯一的编码。对于中文字符,Unicode定义了从\u4e00到\u9fa5范围内的字符集,这个范围覆盖了大部分...
### Java中截取带汉字的字符串 在Java编程语言中,处理包含中文字符的字符串时,经常遇到的一个问题是如何正确地截取这些字符串。如果直接按照字节(byte)来进行分割,很容易导致中文字符被截断一半,从而形成乱码。...
if (Character.toString(c).matches("[\\u4e00-\\u9fa5]+")) { // 判断是否为汉字 String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c); if (pinyinArray != null && pinyinArray.length > 0) { ...