`
conkeyn
  • 浏览: 1518168 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

java取出汉字字符串的拼音首字母

    博客分类:
  • Java
阅读更多

http://library.iteye.com/blog/163653

 

import java.lang.*;   
  
public class GB2Alpha {   
  
    //字母Z使用了两个标签,这里有27个值   
    //i, u, v都不做声母, 跟随前面的字母   
    private char[] chartable =   
            {   
                '啊', '芭', '擦', '搭', '蛾', '发', '噶', '哈', '哈',   
                '击', '喀', '垃', '妈', '拿', '哦', '啪', '期', '然',   
                '撒', '塌', '塌', '塌', '挖', '昔', '压', '匝', '座'  
            };   
  
    private char[] alphatable =   
            {   
                'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',   
  
                'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'  
            };   
  
  
    private int[] table = new int[27];   
  
    //初始化   
    {   
        for (int i = 0; i < 27; ++i) {   
            table[i] = gbValue(chartable[i]);   
        }   
    }   
  
    public GB2Alpha() {   
  
    }   
  
    //主函数,输入字符,得到他的声母,   
    //英文字母返回对应的大写字母   
    //其他非简体汉字返回 '0'   
  
    public char Char2Alpha(char ch) {   
  
        if (ch >= 'a' && ch <= 'z')   
            return (char) (ch - 'a' + 'A');   
        if (ch >= 'A' && ch <= 'Z')   
            return ch;   
  
  
        int gb = gbValue(ch);   
        if (gb < table[0])   
            return '0';   
  
  
        int i;   
        for (i = 0; i < 26; ++i) {   
            if (match(i, gb))   
                break;   
        }   
  
        if (i >= 26)   
            return '0';   
        else  
            return alphatable[i];   
    }   
  
    //根据一个包含汉字的字符串返回一个汉字拼音首字母的字符串   
    public String String2Alpha(String SourceStr) {   
        String Result = "";   
        int StrLength = SourceStr.length();   
        int i;   
        try {   
            for (i = 0; i < StrLength; i++) {   
                Result += Char2Alpha(SourceStr.charAt(i));   
            }   
        } catch (Exception e) {   
            Result = "";   
        }   
        return Result;   
    }   
  
    private boolean match(int i, int gb) {   
        if (gb < table[i])   
            return false;   
  
        int j = i + 1;   
  
        //字母Z使用了两个标签   
        while (j < 26 && (table[j] == table[i]))   
            ++j;   
  
        if (j == 26)   
            return gb <= table[j];   
        else  
            return gb < table[j];   
  
    }   
  
    //取出汉字的编码   
    private int gbValue(char ch) {   
        String str = new String();   
        str += ch;   
        try {   
            byte[] bytes = str.getBytes("GB2312");   
            if (bytes.length < 2)   
                return 0;   
            return (bytes[0] << 8 & 0xff00) + (bytes[1] &   
                    0xff);   
        } catch (Exception e) {   
            return 0;   
        }   
  
    }   
  
  
    public static void main(String[] args) {   
        com.mkrx.GB2Alpha obj1 = new com.mkrx.GB2Alpha();   
        System.out.println(obj1.String2Alpha("测试:中华人民共和国!"));   
        return;   
    }   
}  

 

分享到:
评论

相关推荐

    java中根据汉字字符串获取拼音首字母工具类

    java中根据汉字字符串获取拼音首字母工具类

    java 取出汉语字符串各汉字拼音首字母并大写

    在Java中实现提取汉语字符串各汉字拼音首字母并将其转换为大写是一项常见的需求,尤其是在处理中文文本数据时。本篇文章将详细介绍如何通过Java代码来实现这一功能,并对相关的知识点进行深入探讨。 #### 一、需求...

    取出汉字字符串的拼音首字母

    ### 取出汉字字符串的拼音首字母:Java 实现 #### 概述 本文将详细介绍一个 Java 类 `ChineseCharToEn` 的实现方法,该类主要用于获取汉字字符串的拼音首字母。这种技术常用于需要对汉字进行快速识别或索引处理的...

    获得汉字字符串拼音首字母

    在IT领域,特别是编程与文本处理中,获取汉字字符串的拼音首字母是一个常见的需求,尤其在中文信息处理、搜索引擎优化、排序以及数据分类等场景下。本文将详细解析如何通过编码转换和映射表的方式,从汉字字符串中...

    PHP获取字符串拼音首字母

    `getInitials`函数接收一个中文字符串,然后返回其拼音首字母的组合。 对于多音字的处理,`pinyin4php`库有一个强大的功能,它可以根据字典提供每个汉字的可能拼音。例如,对于汉字“好”,它可能的拼音有“hǎo”...

    安卓A-Z字母排序索引相关-匹配中文字符串的拼音首字母或英文字符串的首字母缩写.rar

    这个压缩包文件“安卓A-Z字母排序索引相关-匹配中文字符串的拼音首字母或英文字符串的首字母缩写.rar”很可能包含了一系列实现这一功能的代码示例。 匹配中文字符串的拼音首字母通常涉及到以下知识点: 1. 汉字转...

    汉字字符串转化为拼音首字母缩写(限常用字)的小程序与源码(VC++)

    在IT领域,尤其是在编程实践中,有时我们需要将汉字字符串转换成其拼音首字母缩写,这在处理中文数据、创建搜索引擎关键词或实现特定的文本处理功能时非常有用。本项目提供了一个小程序及其源码,用于实现这个功能,...

    一个获得汉字拼音首字母的java程序

    这一过程依赖于汉字编码范围的预先定义,即通过比较函数判断汉字属于哪个拼音首字母的范围,从而决定应添加哪个英文字母到结果字符串中。 #### 汉字与拼音映射规则 在`getBeginCharacter`方法中,可以看到一系列的...

    Java编程实现中英混合字符串数组按首字母排序的方法

    本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法。分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[]...

    PB 自动取字符串(汉字)的拼音首字母

    标题“PB自动取字符串(汉字)的拼音首字母”指的是在PowerBuilder(PB)这个编程环境中,实现一个功能,该功能能够将输入的汉字字符串转换为对应的拼音首字母。这在处理汉字数据时非常有用,比如创建关键词索引、搜索...

    汉字字符串输出首字母源代码

    这篇关于“汉字字符串输出首字母源代码”的主题,主要是探讨如何从汉字字符串中提取出每个汉字的首字母,这对于构建拼音索引或者快速查找汉字具有实用价值。在中文环境下,由于汉字的多样性,直接获取首字母并不像...

    安卓获取汉字拼音首字母工具类封装

    3. **处理特殊情况**:在中文中,有一些特殊字符,如“阿”、“啊”、“一”等,它们的拼音首字母不遵循常规。工具类需要处理这些特殊情况,确保首字母的正确性。 4. **批量处理**:工具类可能还包含一个方法,接收...

    获得汉字字符串的首字母

    3. **拼音转换**:通过联接操作,找到每个汉字的拼音首字母,最后将这些首字母拼接起来,就得到了原始字符串的首字母串。 4. **模糊查询**:在实现输入首字完成模糊查询功能时,可以将用户输入的首字母与存储的首...

    C#获取汉字字符串拼音首字母的方法

    在C#编程中,有时我们需要处理汉字字符串,例如在实现搜索功能时,用户可能希望根据汉字的拼音首字母进行检索。为了实现这一功能,我们需要一个能够获取汉字字符串拼音首字母的方法。以下是一个C#实现此类功能的实例...

    oracle获取汉字拼音和拼音首字母的功能函数

    总的来说,Oracle中获取汉字拼音和拼音首字母涉及了字符编码、Java编程、自定义函数、第三方工具等多个方面。开发者可以根据具体的需求和环境,选择合适的方法来实现这一功能。在处理过程中,要注意字符集的兼容性、...

    求汉字字符串的拼音首字母

    在给定的代码中,我们看到一个名为`Classfun`的C#类,该类包含一个方法`ChineseCap`,其目的是将输入的汉字字符串转换为对应的拼音首字母。这个功能在很多应用中非常有用,比如用户输入时的自动补全、关键词检索或者...

    汉字字符串拼音排序-QT、C++

    在中文环境中,由于汉字的特性,拼音排序成为一种实用的需求,特别是在需要按照汉字拼音首字母来排列字符串的场景下。"汉字字符串拼音排序-QT、C++"的主题涉及到如何在QT和C++环境中实现这样的功能。 首先,让我们...

    汉字转拼音、首字母、多音字java

    总的来说,Java中的汉字转拼音、首字母获取以及多音字处理主要依赖于像`pinyin4j`这样的第三方库,它们提供了丰富的功能,使得开发者能方便地进行中文字符的拼音处理。在实际项目中,正确理解和运用这些工具,可以...

    java提取中文的拼音首字母

    根据输入的中文名称,把每个中文名称的拼音首字母提取出来,组合成新的大写字符串。如输入“刘德华”则转换过后得到的是“LDH”。还有我们在用酷我或者其它的搜索工具的时候,当输入“l”的时候下拉列表框中就出现了...

    java中汉字得到首字母大写

    本文介绍了一种在Java中将汉字转换为其拼音首字母大写的方法。这种方法主要依赖于预定义的拼音首字母映射表以及对每个汉字GB2312编码的处理。该技术不仅适用于中文姓名的处理,还可以扩展到其他需要将中文转换为拼音...

Global site tag (gtag.js) - Google Analytics