`

Java实用程序片段

    博客分类:
  • java
阅读更多
1.匹配中文字符集

String str = "测";
String regEx = "^[\u4e00-\u9fa5]$"; // 匹配单个汉字
Pattern pattern = Pattern.compile(regEx); // 编译正则表达式
Matcher matcher = pattern.matcher(str); // 生成一个给定命名的Matcher对象
boolean result = matcher.find(); // 查找下一个匹配子串
if (result) {
    System.out.println("此为汉字");
} else {
    System.out.println("不是汉字");
}


2.将字符串中的汉字转换成拼音(需要三方库pinyin4j)

public class RegEx {
public static void main(String args[]) {
System.out.println(covert2PinYin("Hi.徐.brook!"));

}


//判断字符串中是否包含中文字符
public static boolean hasChineseChar(String str) {
String regEx = "[\u4e00-\u9fa5]+";        //匹配一个或多个汉字,任何位置
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group());  //输出第一个被匹配到得字符串
return true;
}
return false;
}


//取得匹配的中文字符串,并依次添加到List中
public static void getChineseGroup(String str,List<String> list) {
String regEx = "[\u4e00-\u9fa5]+";        //匹配一个或多个汉字,任何位置
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
list.add(matcher.group());
}
}

//把字符串中的中文字符转换成拼音
public static String covert2PinYin(String str){
String newStr = str;
List<String> chineseGroupList = new ArrayList<String>();
List<String> pinYinGroupList = new ArrayList<String>();
getChineseGroup(str,chineseGroupList);
for(String strGroup: chineseGroupList){
pinYinGroupList.add(HanZi2PinYin(strGroup));
}

for(int i= 0 ;i<chineseGroupList.size();i++){
newStr = newStr.replace(chineseGroupList.get(i), pinYinGroupList.get(i));
}

return newStr;
}

//匹配想要的字符串
public static Boolean match(String regex, String str) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}


//把汉字转换成拼音,字符串必须全为汉字
public static String HanZi2PinYin(String hanzi) {
CharSequence s = hanzi.trim();

char[] hanzhi = new char[s.length()];
for (int i = 0; i < s.length(); i++) {
hanzhi[i] = s.charAt(i);
}

char[] t1 = hanzhi;
String[] t2 = new String[s.length()];
/** */
/**
* 设置输出格式
*/
HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
t3.setVCharType(HanyuPinyinVCharType.WITH_V);

int t0 = t1.length;
String py = "";
try {
for (int i = 0; i < t0; i++) {
t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
py = py + t2[0].toString();
}
} catch (BadHanyuPinyinOutputFormatCombination e1) {
e1.printStackTrace();
}

return py.trim();

}
}
分享到:
评论

相关推荐

    Java实用程序设计100例

    "Java实用程序设计100例"很可能是包含了一系列解决常见问题的示例代码库,涵盖了各种Java编程技巧和最佳实践。这些例子可能包括数据处理、文件操作、网络通信、图形用户界面(GUI)设计等多个方面,旨在帮助开发者...

    JAVA 学习必备10个有用的程序片段

    ### JAVA 学习必备10个有用的程序片段详解 #### 1. 字符串与整型的相互转换 在 Java 中,我们经常会遇到需要将数字转换为字符串或反之的情况。以下是一个简单的示例: - **从整型转换为字符串**: ```java int ...

    JAVA课程设计小程序

    首先,我们看到的第一个Java程序片段是一个简单的命令行输入验证示例。这个程序的主要功能是要求用户输入一个整数,并对用户输入的每个字符进行检查,确保所有的字符都是数字。在这个过程中,程序使用了`...

    20个超级有用的Java程序片段

    以下是一些常见的Java程序片段,涵盖了字符串处理、文件操作、日志记录、日期转换、数据库连接等多个方面。 1. **字符串与整型的相互转换** - `String.valueOf(int)` 方法用于将整型值转换为字符串。 - `Integer....

    lang:Java语言实用程序

    Java实用程序类库通常包含以下方面: 1. **集合框架增强**:Java标准库中的集合框架(如ArrayList、LinkedList、HashMap等)虽然功能强大,但在某些特定场景下可能不够灵活。实用程序类库会提供额外的方法,如泛型...

    20个非常实用的Java程序代码片段

    下面我们将详细探讨标题和描述中提到的20个非常实用的Java程序代码片段,这些片段涵盖了字符串操作、文件处理、日志记录、日期时间转换以及数据库连接等多个方面。 1. **字符串与整型的相互转换**: - `String....

    java程序代码下载

    在这个名为"java程序代码下载"的压缩包中,包含了多种实用的Java小代码示例,它们可以帮助初学者快速理解和实践Java编程的基本概念。 首先,让我们探讨一下Java源码的重要性。源码是程序员用人类可读的语言编写的...

    java调用Windows应用程序

    通过上述介绍,我们可以看到Java程序调用Windows应用程序是一个非常实用且功能强大的特性。无论是简单的系统应用还是自定义的exe文件,甚至是特定类型的媒体文件,都能轻松实现。然而,在实际应用中还需注意安全性、...

    java实用代码源代码

    "java实用代码源代码"这个标题表明我们即将探讨的是实际应用中的Java编程代码,这些代码可能涵盖各种功能和应用场景,旨在提高开发效率和解决具体问题。 在描述中提到的".java"文件是Java源代码文件,它是编写Java...

    JAVA定时运行程序

    在Java编程中,实现定时任务是一项常见且实用的功能。本文将详细介绍如何使用`java.util.Timer`类来创建一个能够定时执行特定任务的应用程序。通过分析提供的代码片段,我们将深入探讨其工作原理、关键组件及其在...

    20个非常有用的Java程序片段.docx

    这些Java知识点涵盖了从基本的数据类型转换、文件操作、日期处理到数据库连接等实用场景。对于Java开发者来说,这些都是非常重要的基础知识,能够帮助他们在日常开发工作中更加高效地解决问题。

    java实用教程(第三版)第八章课后习题答案(耿祥义)

    ### Java实用教程(第三版)第八章课后习题答案解析 #### 第八章第1题:GUI设计与实现 本题旨在通过四个不同的Java类的设计与实现来帮助读者掌握Swing框架的基本用法,包括如何创建对话框、处理用户事件等。下面将对...

    JAVA WEB程序开发范例宝典1-2章源代码

    此外,源代码还可能包含错误处理、日志记录、资源管理等实用技巧,这些都是进行Java Web开发时不可或缺的部分。通过阅读和运行这些代码,开发者可以更好地理解和应用理论知识,为后续的Java Web开发打下坚实的基础。

    JAVA 实用教程 JDP java 源码 动态创建

    在Java编程语言中,"动态创建...综上所述,"JAVA 实用教程 JDP java 源码 动态创建"这个主题涵盖了Java编程中一些核心的高级特性。通过学习和掌握这些知识点,开发者能够编写出更加强大、灵活且适应性强的Java应用。

    简单MP3播放Java程序

    这个简单的Java MP3播放器项目展示了如何利用Java的多种特性来创建一个实用的多媒体应用。虽然它可能不如商业级播放器那样功能齐全,但对于学习和理解Java编程,尤其是音频处理和用户界面设计,是一个很好的实践案例...

    javamidihandling:一些使用 java 实用程序读写播放 MIDI 文件的 java 代码片段

    通过`javamidihandling`项目,开发者可以学习如何利用Java的强大功能来处理MIDI文件,从而在应用程序中集成音乐播放和创作功能。这不仅有助于理解MIDI格式,还可以提升Java编程技巧。在实际应用中,这些知识可以用于...

    Java实用系统开发指南 实例源码5-8

    在《Java实用系统开发指南》中,实例5-8提供了丰富的知识内容,涵盖了Java编程的多个重要方面。这个实例源码包含多个章节的代码,包括chapter5至chapter8,以及一个名为“辅助工具类”的单独模块。这些章节的划分...

    Java 2实用教程(3版)实验代码及答案

    实验代码部分提供了书中各个实验的示例程序,这些程序通常包含了实现特定功能的关键代码片段。读者可以通过阅读和运行这些代码,理解Java语法和编程思想,同时也能对比自己的解决方案,找出可能存在的问题。对于初学...

    史上最全Java2实用教程及相关资料

    5. **源码**:源码示例是学习编程语言的关键部分,通过阅读和分析这些代码,学习者可以更好地理解Java的实际应用,学习如何解决问题和设计程序。 6. **例程代码**:这些代码片段涵盖了各种Java编程技巧和常见问题的...

Global site tag (gtag.js) - Google Analytics