`

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 判断汉字 汉字的判断

    ### Java判断字符串是否包含汉字的方法 在开发过程中,有时我们需要判断一个字符串是否包含汉字,并根据判断的结果执行不同的逻辑。这通常出现在需要处理多语言输入的情况下,例如用户输入验证、文本分析等场景。...

    Java汉字转拼音(支持多音字)

    这个"Java汉字转拼音(支持多音字)"的主题涉及了如何在Java环境中实现这一功能,特别是考虑到中文的多音字特性。 多音字是指一个汉字有多个读音,其读音取决于它在特定语境中的含义。例如,“打”字可以读作“dǎ...

    java实现数字转换人民币中文大写工具

    Java 实现数字转换人民币中文大写工具 Java 实现数字转换人民币中文大写工具是指使用 Java 语言将数字转换为人民币中文大写格式的工具。该工具具有很高的实用价值,特别是在人事业务系统开发中,经常需要将数字转换...

    scala java 简体、繁体互转换,判断是否为简体、繁体

    这里我们将详细探讨如何使用Scala和Java来实现简体与繁体中文的互换以及判断文字是简体还是繁体。 首先,让我们了解简体和繁体中文的区别。简体中文是20世纪50年代以来在中国大陆广泛使用的标准化汉字形式,特点是...

    java 字符串中文判断

    本文将深入探讨如何在Java中进行中文字符的判断和计数,这主要基于Java的Unicode编码特性以及字符集的理解。 首先,我们需要理解Java中的字符类型`char`。在Java中,一个`char`类型的变量可以存储一个Unicode字符,...

    java 判断中英文

    在Java编程语言中,判断一个字符串是否包含中文字符或英文字符是常见的需求,这主要涉及到字符编码和字符串处理的知识。本文将深入探讨如何利用Java进行这样的判断。 首先,我们需要了解字符编码的基础。在计算机中...

    java 判断字符串是否是中文

    java 判断字符串是否是中文 共总结了6种方法。。。。

    将汉字转换成拼音 java 源码

    - **Pinyin4j** 是一个强大的Java库,主要用于将中文汉字转换为拼音,同时支持多种配置选项来调整输出格式。 - 这个库提供了一系列工具类和枚举类型来帮助开发者定制拼音的输出方式,例如是否带有声调、拼音首字母大...

    Java 数字转换成中文读法

    在编程领域,尤其是在Java开发中,有时我们需要将数字转换成中文读法,以便于用户更加直观地理解数据。这个需求通常出现在财务、报表或者人机交互界面等场景。标题所提及的问题是:“Java设计输入‘12345’显示‘一...

    Java实现中文转拼音.rar

    总结来说,“Java实现中文转拼音.rar”提供的工具类是一个便捷的Java解决方案,它能够帮助开发者将中文汉字转换为拼音。通过解压并运行`PinyinTest`,你可以快速验证其功能并集成到自己的项目中,为处理中文文本带来...

    java将汉字转为拼音

    本篇文章将详细探讨如何在Java中实现汉字转拼音,并给出相关代码示例。 首先,Java的标准库并没有直接提供汉字转拼音的API,但可以通过第三方库来实现。其中一个广泛应用的库是Pinyin4j,它是一个轻量级的Java库,...

    Java 正则表达式判断字符串是否包含中文

    ### Java正则表达式判断字符串是否包含中文 在日常的软件开发过程中,我们经常会遇到需要对输入的字符串进行校验的情况。例如,在处理用户输入、文本分析或数据清洗时,可能需要判断一个字符串中是否包含中文字符。...

    将汉字转换为汉语拼音java实现

    10. **应用场景**:汉字转拼音可以应用于语音合成、关键词提取、搜索引擎索引建立等多种场景,极大地拓宽了Java在中文处理上的应用范围。 综上所述,实现“将汉字转换为汉语拼音”的Java程序涉及到了Java API的使用...

    [pinyin4j]java版汉字转换拼音大小写

    if (Character.toString(c).matches("[\\u4E00-\\u9FA5]+")) { // 判断是否为中文字符 String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c); if (pinyinArray != null) { String pinyin = ...

    JAVA实现汉字转换为拼音

    在Java编程语言中,汉字转换为拼音是一项常见的需求,特别是在处理中文文本的自动化、搜索、语音合成等场景。本文将详细介绍如何使用Java实现这一功能,特别是利用名为"Pinyin4j"的开源库来完成这个任务。 "Pinyin4...

    java钱币小写转换大写

    - 对于每一位,如果为0,则需要判断前一位是否也为0,如果是,则需要插入“零”;如果不是,则直接添加对应的大写数字。 - 遇到“10”以上的数字,需要转换为对应的汉字组合,例如:“12”转换为“壹拾贰”。 3. *...

    Java判断文件的编码

    ### Java判断文件编码的方法 在Java开发中,经常会遇到需要处理不同编码格式的文件的情况。为了确保程序能够正确解析文件内容,必须先判断文件的编码格式。本文将详细介绍如何使用Java来判断文件是否为UTF-8或GBK...

    回文判断 JAVA实现

    在本项目中,我们使用Java编程语言,通过递归的方式实现了一个具有图形用户界面(GUI)的回文判断程序。下面将详细介绍这个项目中的关键知识点。 1. **Java基础**:首先,我们需要了解Java的基本语法,包括变量声明...

    正则表达式 Java 判断字串是否合理

    这个表达式利用Unicode范围来匹配中文字符,`[\u4e00-\u9fa5]`表示所有常用汉字的Unicode编码范围。 ### 6. HTML空白符验证 `checkBlank`方法用于检查字符串是否仅包含空白字符,如空格、制表符等,其正则表达式为...

    js java 判断中文,英文的混合长度

    根据给定文件的信息,本文将围绕“JS与Java中判断字符串中文、英文混合长度的方法”这一主题进行深入探讨。文章将分别介绍JavaScript和Java中如何处理包含中文字符和英文字符的混合字符串,并计算其等效长度。 ### ...

Global site tag (gtag.js) - Google Analytics