- 浏览: 361377 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (176)
- struts2 (4)
- javascript (9)
- database (11)
- hibernate (11)
- java (36)
- CSS (1)
- wap (8)
- html (5)
- spring (3)
- 操作系统 (9)
- xml (0)
- eclipse/myeclipse (6)
- freemarker (2)
- jsp+servlet (4)
- fckeditor (1)
- Linux (12)
- tomcat (4)
- SNMP (2)
- Loadrunner (1)
- php (0)
- 版本控制 (1)
- android (3)
- pki (7)
- jquery (4)
- webservice (4)
- ipad (1)
- 开发工具 (1)
- jslt (1)
- 连接池 (6)
- javaApi (1)
- 学习笔记 (6)
- eclipse (2)
最新评论
-
宋建勇:
nice
keytool详解 -
1122334455aabb:
java int,byte、char之间的相互转化,更多内容参 ...
java中byte 与16进制字符相互转换 -
01jiangwei01:
CA[i >>> 18 & 0x3f ...
使用JAVA数字证书做数字签名认证 -
sjp524617477:
good
keytool详解 -
whlngn:
输出结果我只想取汉字,而不要后面的数字,应该如何实现,求回答
配置paoding analysis
- 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;
- }
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 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 + "个 ");
- }
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());
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有汉字");
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个汉字(是不是少了点,算算你能认识多少)
发表评论
-
常用排序算法小记
2012-06-29 07:59 965转自:http://easense2009.iteye.com ... -
抽象类与接口
2012-06-07 13:47 809java中只可以继承一个类却可以继承多个接口。一个抽象 ... -
Java编程中“为了性能”尽量要做到的一些地方
2012-05-18 09:36 655最近的机器内存又爆满了,除了新增机器内存外,还应该好好revi ... -
Runtime.getRuntime().exec(...)使用方法
2011-01-25 11:06 3317如果想要了解更多的信息,参阅代码里面给的链接 下面是这个正确的 ... -
使用poi一步一步建立报表 (excel操作)
2011-01-08 20:21 1627... -
Apache POI HSSF读写Excel总结
2011-01-08 18:03 1370Apache POI HSSF和XSSF读写EXCEL总结 H ... -
JNLP介绍
2010-12-05 15:04 1906原文地址:http://blog.csdn.net/yq7 ... -
利用反射私有属性/方法进行设置/调用
2010-12-03 08:35 1157因一时兴起看了一些有关 Java 反射( Reflection ... -
如何编写高效率java代码
2010-09-08 12:38 1518如何编写高效率Java 规则1 用时间频度来确定异常情况 ... -
深入理解Java加载类的机制
2010-09-07 22:32 1157这里从三个方面讲述java classloader ... -
Java 动态加载类
2010-09-07 22:29 2313Java 动态加载类 收 ... -
简单例子演示如何进行类的热加载(Hot Deployment)
2010-09-07 22:13 1733简单例子演示如何进行 ... -
ResourceBundle与Properties两个类的区别
2010-08-26 14:09 1633这两个类都是读取properties格式的文件的,而Prope ... -
log4j多文件配置
2010-08-26 10:07 1531log4j.rootCategory=INFO, CONSOL ... -
java获取properties 配置文件
2010-08-26 09:21 1788根据网上的例子总结了一下。 其中cache.p ... -
Class.forName与new 得区别
2010-08-13 15:45 1097Class.forName(xxx.xx.xx) 返回一个类 ... -
HttpURLConnection简单用法
2010-08-04 15:00 1625HttpURLConnection为javaAPI提 ... -
java中byte 与16进制字符相互转换
2010-07-27 13:53 7480Java中byte用二进制表示占用8位,而我们知道16进制的每 ... -
使用Axis在Tomcat下发布Webservice操作指南
2010-06-21 12:58 2499最近在工作过程中总是需要向其它项目组提供Webservice ... -
jdk安装
2010-06-12 21:41 14781.1 获取 JDK Java 的 ...
相关推荐
### Java判断字符串是否包含汉字的方法 在开发过程中,有时我们需要判断一个字符串是否包含汉字,并根据判断的结果执行不同的逻辑。这通常出现在需要处理多语言输入的情况下,例如用户输入验证、文本分析等场景。...
本文将深入探讨如何在Java中进行中文字符的判断和计数,这主要基于Java的Unicode编码特性以及字符集的理解。 首先,我们需要理解Java中的字符类型`char`。在Java中,一个`char`类型的变量可以存储一个Unicode字符,...
在Java编程语言中,判断一个字符串是否包含中文字符或英文字符是常见的需求,这主要涉及到字符编码和字符串处理的知识。本文将深入探讨如何利用Java进行这样的判断。 首先,我们需要了解字符编码的基础。在计算机中...
java 判断字符串是否是中文 共总结了6种方法。。。。
### Java正则表达式判断字符串是否包含中文 在日常的软件开发过程中,我们经常会遇到需要对输入的字符串进行校验的情况。例如,在处理用户输入、文本分析或数据清洗时,可能需要判断一个字符串中是否包含中文字符。...
这里我们将详细探讨如何使用Scala和Java来实现简体与繁体中文的互换以及判断文字是简体还是繁体。 首先,让我们了解简体和繁体中文的区别。简体中文是20世纪50年代以来在中国大陆广泛使用的标准化汉字形式,特点是...
### Java判断文件编码的方法 在Java开发中,经常会遇到需要处理不同编码格式的文件的情况。为了确保程序能够正确解析文件内容,必须先判断文件的编码格式。本文将详细介绍如何使用Java来判断文件是否为UTF-8或GBK...
在本项目中,我们使用Java编程语言,通过递归的方式实现了一个具有图形用户界面(GUI)的回文判断程序。下面将详细介绍这个项目中的关键知识点。 1. **Java基础**:首先,我们需要了解Java的基本语法,包括变量声明...
这个表达式利用Unicode范围来匹配中文字符,`[\u4e00-\u9fa5]`表示所有常用汉字的Unicode编码范围。 ### 6. HTML空白符验证 `checkBlank`方法用于检查字符串是否仅包含空白字符,如空格、制表符等,其正则表达式为...
在Java编程语言中,将汉字转换为拼音是一项常见的任务,特别是在处理中文文本、搜索引擎优化、语音合成或自然语言处理等领域。这个"Java汉字转拼音(支持多音字)"的主题涉及了如何在Java环境中实现这一功能,特别是...
在Java编程语言中,判断一个字符串是否包含中文字符并找到这些字符的位置是一项常见的任务。这在处理中文数据、文本分析或者进行国际化应用时尤为关键。本文将详细介绍如何使用Java实现这个功能。 首先,我们需要...
根据提供的文件信息,本文将详细解析如何通过Java编程语言实现计算汉字笔画数的方法,并对代码中的关键逻辑进行深入分析。 ### 概述 在Java中实现计算汉字笔画数的功能,主要涉及到对汉字编码的理解以及如何根据...
根据给定文件的信息,本文将围绕“JS与Java中判断字符串中文、英文混合长度的方法”这一主题进行深入探讨。文章将分别介绍JavaScript和Java中如何处理包含中文字符和英文字符的混合字符串,并计算其等效长度。 ### ...
中文不同于英文,单词之间没有明显的分隔符,因此在处理中文文本时,我们需要先进行分词,即将连续的汉字序列切分成有意义的词汇单元。Sanford中文分词库是一种常用的分词工具,它基于统计模型,能够根据语料库学习...
### Java中实现汉字首字母转为大写的技巧与方法 #### 概述 在Java编程中,有时我们需要处理中文字符,并将其转换成特定格式。例如,我们可能希望将一个中文姓名转换成其拼音首字母的大写形式。这种需求在很多场景...
在Java编程语言中,将汉字转换为对应的汉语拼音是一项常见的需求,特别是在文本处理、搜索功能或者国际化应用中。为了实现这个功能,Java提供了一些库和API可以利用。本篇文章将详细探讨如何在Java中实现汉字转拼音...
根据给定文件的信息,我们可以总结出以下几个主要的知识点: ### 1.... ... - `&` 转换为 `&` - `转换为 `<...### 2....在实际应用中,这些方法通常会被封装成工具类的一部分,并广泛应用于前端表单验证、后端数据校验...
在Java编程语言中,判断一个字符串是否包含汉字是一项常见的任务,尤其在处理多语言文本时。上述代码提供了几种不同的方法来实现这个功能。下面将详细解释这些方法。 1. 判断字符串是否为GB2312编码的汉字: 在...
### Java判断题知识点详解 #### 1. JSP 包含指令 (`<jsp:include>`) **知识点**: `<jsp:include>` 指令在 JSP 文件中的作用是在编译时将其他 JSP 文件的内容合并到当前 JSP 文件中。 **解析**: 正确。`...
【Java 判断字符串中文英文工具类】 在Java编程中,有时我们需要判断一个字符串中的字符是否为中文或英文。为了实现这个功能,我们可以创建一个工具类,利用Java的`Character`类和正则表达式进行判断。以下是一个...