public class GetCh2Spell
{
public static int compare(String str1, String str2)
{
int result = 0;
String m_s1 = null;
String m_s2 = null;
try
{
m_s1 = new String(str1.getBytes(_FromEncode_), _ToEncode_);
m_s2 = new String(str2.getBytes(_FromEncode_), _ToEncode_);
}
catch(Exception e)
{
return str1.compareTo(str2);
}
result = chineseCompareTo(m_s1, m_s2);
return result;
}
public static int getCharCode(String s)
{
if(s == null && s.equals(""))
return -1;
byte b[] = s.getBytes();
int value = 0;
for(int i = 0; i < b.length && i <= 2; i++)
value = value * 100 + b[i];
return value;
}
public static int chineseCompareTo(String s1, String s2)
{
int len1 = s1.length();
int len2 = s2.length();
int n = Math.min(len1, len2);
for(int i = 0; i < n; i++)
{
int s1_code = getCharCode(s1.charAt(i) + "");
int s2_code = getCharCode(s2.charAt(i) + "");
if(s1_code * s2_code < 0)
return Math.min(s1_code, s2_code);
if(s1_code != s2_code)
return s1_code - s2_code;
}
return len1 - len2;
}
public static String getBeginCharacter(String res)
{
String a = res;
String result = "";
for(int i = 0; i < a.length(); i++)
{
String current = a.substring(i, i + 1);
if(compare(current, "\u554A") < 0)
result = result + current;
else
if(compare(current, "\u554A") >= 0 && compare(current, "\u5EA7") <= 0)
if(compare(current, "\u531D") >= 0)
result = result + "z";
else
if(compare(current, "\u538B") >= 0)
result = result + "y";
else
if(compare(current, "\u6614") >= 0)
result = result + "x";
else
if(compare(current, "\u6316") >= 0)
result = result + "w";
else
if(compare(current, "\u584C") >= 0)
result = result + "t";
else
if(compare(current, "\u6492") >= 0)
result = result + "s";
else
if(compare(current, "\u7136") >= 0)
result = result + "r";
else
if(compare(current, "\u671F") >= 0)
result = result + "q";
else
if(compare(current, "\u556A") >= 0)
result = result + "p";
else
if(compare(current, "\u54E6") >= 0)
result = result + "o";
else
if(compare(current, "\u62FF") >= 0)
result = result + "n";
else
if(compare(current, "\u5988") >= 0)
result = result + "m";
else
if(compare(current, "\u5783") >= 0)
result = result + "l";
else
if(compare(current, "\u5580") >= 0)
result = result + "k";
else
if(compare(current, "\u51FB") > 0)
result = result + "j";
else
if(compare(current, "\u54C8") >= 0)
result = result + "h";
else
if(compare(current, "\u5676") >= 0)
result = result + "g";
else
if(compare(current, "\u53D1") >= 0)
result = result + "f";
else
if(compare(current, "\u86FE") >= 0)
result = result + "e";
else
if(compare(current, "\u642D") >= 0)
result = result + "d";
else
if(compare(current, "\u64E6") >= 0)
result = result + "c";
else
if(compare(current, "\u82AD") >= 0)
result = result + "b";
else
if(compare(current, "\u554A") >= 0)
result = result + "a";
}
return result;
}
public static String getFirstStr(String str)
{
char a = str.charAt(0);
char aa[] = {
a
};
String sss = new String(aa);
if(Character.isDigit(aa[0]))
sss = "data";
else
if(a >= 'a' && a <= 'z' || a >= 'A' && a <= 'Z')
sss = "character";
else
sss = getBeginCharacter(sss);
return sss;
}
private static String _FromEncode_ = "GBK";
private static String _ToEncode_ = "GBK";
}
{
public static int compare(String str1, String str2)
{
int result = 0;
String m_s1 = null;
String m_s2 = null;
try
{
m_s1 = new String(str1.getBytes(_FromEncode_), _ToEncode_);
m_s2 = new String(str2.getBytes(_FromEncode_), _ToEncode_);
}
catch(Exception e)
{
return str1.compareTo(str2);
}
result = chineseCompareTo(m_s1, m_s2);
return result;
}
public static int getCharCode(String s)
{
if(s == null && s.equals(""))
return -1;
byte b[] = s.getBytes();
int value = 0;
for(int i = 0; i < b.length && i <= 2; i++)
value = value * 100 + b[i];
return value;
}
public static int chineseCompareTo(String s1, String s2)
{
int len1 = s1.length();
int len2 = s2.length();
int n = Math.min(len1, len2);
for(int i = 0; i < n; i++)
{
int s1_code = getCharCode(s1.charAt(i) + "");
int s2_code = getCharCode(s2.charAt(i) + "");
if(s1_code * s2_code < 0)
return Math.min(s1_code, s2_code);
if(s1_code != s2_code)
return s1_code - s2_code;
}
return len1 - len2;
}
public static String getBeginCharacter(String res)
{
String a = res;
String result = "";
for(int i = 0; i < a.length(); i++)
{
String current = a.substring(i, i + 1);
if(compare(current, "\u554A") < 0)
result = result + current;
else
if(compare(current, "\u554A") >= 0 && compare(current, "\u5EA7") <= 0)
if(compare(current, "\u531D") >= 0)
result = result + "z";
else
if(compare(current, "\u538B") >= 0)
result = result + "y";
else
if(compare(current, "\u6614") >= 0)
result = result + "x";
else
if(compare(current, "\u6316") >= 0)
result = result + "w";
else
if(compare(current, "\u584C") >= 0)
result = result + "t";
else
if(compare(current, "\u6492") >= 0)
result = result + "s";
else
if(compare(current, "\u7136") >= 0)
result = result + "r";
else
if(compare(current, "\u671F") >= 0)
result = result + "q";
else
if(compare(current, "\u556A") >= 0)
result = result + "p";
else
if(compare(current, "\u54E6") >= 0)
result = result + "o";
else
if(compare(current, "\u62FF") >= 0)
result = result + "n";
else
if(compare(current, "\u5988") >= 0)
result = result + "m";
else
if(compare(current, "\u5783") >= 0)
result = result + "l";
else
if(compare(current, "\u5580") >= 0)
result = result + "k";
else
if(compare(current, "\u51FB") > 0)
result = result + "j";
else
if(compare(current, "\u54C8") >= 0)
result = result + "h";
else
if(compare(current, "\u5676") >= 0)
result = result + "g";
else
if(compare(current, "\u53D1") >= 0)
result = result + "f";
else
if(compare(current, "\u86FE") >= 0)
result = result + "e";
else
if(compare(current, "\u642D") >= 0)
result = result + "d";
else
if(compare(current, "\u64E6") >= 0)
result = result + "c";
else
if(compare(current, "\u82AD") >= 0)
result = result + "b";
else
if(compare(current, "\u554A") >= 0)
result = result + "a";
}
return result;
}
public static String getFirstStr(String str)
{
char a = str.charAt(0);
char aa[] = {
a
};
String sss = new String(aa);
if(Character.isDigit(aa[0]))
sss = "data";
else
if(a >= 'a' && a <= 'z' || a >= 'A' && a <= 'Z')
sss = "character";
else
sss = getBeginCharacter(sss);
return sss;
}
private static String _FromEncode_ = "GBK";
private static String _ToEncode_ = "GBK";
}
相关推荐
"安卓获取汉字拼音首字母工具类封装"就是一个这样的解决方案,它提供了一种便捷的方式来处理汉字与拼音之间的转换,以适配与IndexBar-master这种通讯录开源控件的配合使用。 首先,我们要理解工具类在编程中的作用...
java中根据汉字字符串获取拼音首字母工具类
在本篇文章中,我们将详细探讨一个专门用于提取汉字拼音首字母的Java工具类——`StringUtil`。此工具类的核心功能是将输入的字符串中的每个汉字转换为其对应的拼音首字母,并返回一个由这些首字母组成的字符串。这一...
- 这个工具类可以用于生成基于拼音的排序,比如在搜索功能中,用户可以按照关键词的拼音首字母进行快速浏览。 - 在构建URL时,将汉字转换为拼音可以让不懂中文的用户也能理解链接内容。 通过以上介绍,我们了解了...
在Java编程语言中,处理汉字转换为拼音、获取汉字首字母以及处理多音字的问题是一项常见的任务,尤其在中文信息处理、搜索引擎优化(SEO)或者中文输入法开发等领域。这里我们将详细探讨这些知识点。 首先,我们要...
标题中的“取汉字拼音首字母工具源码”指的是一个编程工具,它的主要功能是将汉字转化为对应的拼音首字母。在中文处理中,这种技术常用于快速检索、关键词提取或者建立汉字与拼音之间的索引。例如,在搜索引擎中,...
总的来说,Oracle中获取汉字拼音和拼音首字母涉及了字符编码、Java编程、自定义函数、第三方工具等多个方面。开发者可以根据具体的需求和环境,选择合适的方法来实现这一功能。在处理过程中,要注意字符集的兼容性、...
本文将深入探讨如何实现一个基于JavaFX的模糊查询系统,该系统支持汉字、拼音以及拼音首字母的左侧匹配。这个功能对于提高用户在大量中文数据中查找信息的效率至关重要。 首先,我们需要了解JavaFX这一强大的Java...
### Oracle 获取汉字拼音首字母 在Oracle数据库中实现获取汉字拼音首字母的需求,通常涉及到对中文字符的处理以及拼音转换的技术。这样的功能可以应用于多种场景,例如数据排序、索引建立或是快速检索等。本文将...
Java中的汉字拼音工具包主要服务于程序开发,尤其是前端开发,用于处理汉字与拼音之间的转换,这对于构建具有中文支持的应用或网站至关重要。这类工具包能够帮助开发者轻松地将汉字转换为对应的拼音,便于进行搜索、...
在Java编程中,实现输入汉字拼音首字母自动显示出数据库中相应内容的功能,是常见的文本框自动补全(AutoComplete)技术的一种应用场景。这种技术通常用于提高用户输入的效率和准确性,常见于搜索引擎、输入法软件...
[工具类] 获得汉字拼音首字母的java工具类.java.txt [工具类] 获取绝对路径 .java.txt [工具类] 记录log日志文件的工具类 .java.txt [工具类] 连接数据库的工具类 .java.txt [工具类] 使用Java程序来实现HTTP文件的...
Java获取汉字的首字母是一项常见的文本处理任务,尤其在数据编码、搜索引擎优化或者拼音排序等场景下非常有用。本文将详细讲解如何利用Java实现这一功能,并探讨相关知识点。 首先,我们要明白汉字首字母的获取主要...
Java汉字转换为拼音工具类 汉字转换为拼音包括全拼、首字母缩写;全拼可计算出多音字。
总之,“获取汉字拼音首字母功能函数”是处理汉字的一种实用工具,它涉及到了字符编码、拼音转换和数据处理等多个方面。通过HZPY.java文件,我们可以学习到如何自定义实现这样的功能,以便在实际项目中灵活运用。
[工具类] 获得汉字拼音首字母的java工具类.java.txt [工具类] 获取绝对路径 .java.txt [工具类] 记录log日志文件的工具类 .java.txt [工具类] 连接数据库的工具类 .java.txt [工具类] 使用Java程序来实现HTTP文件的...
在Java编程中,提取汉字的首字母和拼音是一项常见的需求,尤其在中文数据处理和搜索优化方面。这里我们将深入探讨如何使用Java实现这一功能,并基于提供的`pinyin4j-2.5.0.jar`库和`Pinyin.java`源码进行讲解。 `...
以下是一个简单的示例,展示如何使用Pinyin4j获取汉字拼音: ```java import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; ...
[工具类] 获得汉字拼音首字母的java工具类 .java [工具类] 获取绝对路径 .java [工具类] 记录log日志文件的工具类 .java [工具类] 连接数据库的工具类 .java [工具类] 使用Java程序来实现HTTP文件的队列下载 ....
通过`toHanyuPinyinInitialsString()`方法,可以快速得到每个汉字的拼音首字母,如果是多音字,返回的是所有首字母的组合。 **5. 应用场景** - 搜索优化:将汉字关键词转换为拼音首字母,可以提高搜索效率。 - 数据...