/**
* Created by IntelliJ IDEA.
* Date: 2004-5-17
* Time: 10:59:59
* ClassDescription:取出汉字字符串的拼音首字母
*/
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 类 `ChineseCharToEn` 的实现方法,该类主要用于获取汉字字符串的拼音首字母。这种技术常用于需要对汉字进行快速识别或索引处理的...
java 汉字转拼音 字符串拼音首字母
在IT领域,特别是编程与文本处理中,获取汉字字符串的拼音首字母是一个常见的需求,尤其在中文信息处理、搜索引擎优化、排序以及数据分类等场景下。本文将详细解析如何通过编码转换和映射表的方式,从汉字字符串中...
在IT行业中,中文字符串的拼音首字母匹配以及英文字符串的首字母缩写是常见的文本处理需求,尤其是在数据处理、搜索引擎优化、用户界面设计等领域。这个压缩包文件"GetHighlightAcronymLib"似乎提供了一个库或者工具...
`getInitials`函数接收一个中文字符串,然后返回其拼音首字母的组合。 对于多音字的处理,`pinyin4php`库有一个强大的功能,它可以根据字典提供每个汉字的可能拼音。例如,对于汉字“好”,它可能的拼音有“hǎo”...
这个压缩包文件“安卓A-Z字母排序索引相关-匹配中文字符串的拼音首字母或英文字符串的首字母缩写.rar”很可能包含了一系列实现这一功能的代码示例。 匹配中文字符串的拼音首字母通常涉及到以下知识点: 1. 汉字转...
标题“PB自动取字符串(汉字)的拼音首字母”指的是在PowerBuilder(PB)这个编程环境中,实现一个功能,该功能能够将输入的汉字字符串转换为对应的拼音首字母。这在处理汉字数据时非常有用,比如创建关键词索引、搜索...
这一过程依赖于汉字编码范围的预先定义,即通过比较函数判断汉字属于哪个拼音首字母的范围,从而决定应添加哪个英文字母到结果字符串中。 #### 汉字与拼音映射规则 在`getBeginCharacter`方法中,可以看到一系列的...
本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法。分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[]...
这篇关于“汉字字符串输出首字母源代码”的主题,主要是探讨如何从汉字字符串中提取出每个汉字的首字母,这对于构建拼音索引或者快速查找汉字具有实用价值。在中文环境下,由于汉字的多样性,直接获取首字母并不像...
在给定的代码中,我们看到一个名为`Classfun`的C#类,该类包含一个方法`ChineseCap`,其目的是将输入的汉字字符串转换为对应的拼音首字母。这个功能在很多应用中非常有用,比如用户输入时的自动补全、关键词检索或者...
3. **处理特殊情况**:在中文中,有一些特殊字符,如“阿”、“啊”、“一”等,它们的拼音首字母不遵循常规。工具类需要处理这些特殊情况,确保首字母的正确性。 4. **批量处理**:工具类可能还包含一个方法,接收...
在C#编程中,有时我们需要处理汉字字符串,例如在实现搜索功能时,用户可能希望根据汉字的拼音首字母进行检索。为了实现这一功能,我们需要一个能够获取汉字字符串拼音首字母的方法。以下是一个C#实现此类功能的实例...
总的来说,Oracle中获取汉字拼音和拼音首字母涉及了字符编码、Java编程、自定义函数、第三方工具等多个方面。开发者可以根据具体的需求和环境,选择合适的方法来实现这一功能。在处理过程中,要注意字符集的兼容性、...
总的来说,Java中的汉字转拼音、首字母获取以及多音字处理主要依赖于像`pinyin4j`这样的第三方库,它们提供了丰富的功能,使得开发者能方便地进行中文字符的拼音处理。在实际项目中,正确理解和运用这些工具,可以...
本篇文章将深入探讨如何使用Java实现汉字转拼音的功能,包括获取汉字的全拼和首字母。 首先,我们需要理解汉字转拼音的基本原理。汉语拼音是用拉丁字母表示汉字发音的一种方式,全拼是每个汉字对应的完整拼音,而首...
假设我们需要处理一个包含多个汉字的字符串,并希望获取每个汉字的拼音首字母,可以通过以下步骤实现: 1. 将字符串分割成单个汉字。 2. 对每个汉字调用`pinyin`函数获取其拼音首字母。 3. 将所有的拼音首字母组合...
总的来说,通过结合JavaScript的字符串处理和DOM操作,我们可以实现中文拼音首字母的获取以及基于拼音首字母的页面内容查找。在实际应用中,可能还需要考虑性能优化,例如使用更高效的查找算法,或者对大量数据的...
在iOS开发中,经常需要处理汉字与拼音的转换,特别是在实现UITableView的索引功能时,如果数据源包含中文,就需要将汉字转化为拼音首字母来显示在右侧的索引栏上,便于用户快速浏览和查找。标题"获取汉子拼音首字母...