- 浏览: 684055 次
- 性别:
- 来自: 安徽
-
文章分类
- 全部博客 (252)
- Html/Div+CSS (12)
- Js/Jquery (34)
- Flex (2)
- Ajax (3)
- Java (35)
- C# (15)
- Spring (16)
- Hibernate (13)
- Struts2 (12)
- Struts1 (7)
- DWR (1)
- iBatis/myBatis (9)
- Tag(JSTL、EL) (1)
- Android (44)
- SQL (7)
- SEO (7)
- Exception (3)
- Tool (10)
- Other (3)
- WebService (9)
- Apache (7)
- Ext (0)
- Utils (12)
- thinking in programme (2)
- Hadoop (0)
- ActiveMQ (0)
- HTML5/CSS3 (0)
- WPF (1)
- NodeJs (1)
- 设计模式 (0)
- 程序人生 (1)
- 随笔 (1)
- Linux (1)
- Load Balance (0)
最新评论
-
drinkjava2:
太复杂了而且不通用,利用ThreadLocal可完美解决这一问 ...
JDBC的多条件动态查询 -
u013107014:
multipartRequest.getFiles(" ...
多文件上传 by MultipartFile and Multiple -
liyys:
可惜没讲你mysql数据库的表的设计
iBatis入门 -
Mapple_leave:
效果还是挺不错的,谢谢了。
中文简体与繁体的转换 -
arcpad:
JS禁用浏览器退格键
今天看了一篇博客(http://guyexin-126-com.iteye.com/blog/842954)里说关于pinyin4j的即将汉字转成汉语拼音,感觉在有的个别项目中确实可能用到,而这又属于公用的,所以决定在自己的博客里多分一个Util类,即总结收集可以作为工具类,如果大家也有这些比较好的工具类可以交流交流。
今天就列pinyin4j吧,刚才也说了pinyin4j是的作用就是将汉字转成汉语拼音,pinyin4j就是一个支持中文转中文拼音的Java开源类库。
其主页:http://pinyin4j.sourceforge.net/
package com.iflytek.pinyin4j; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; /** * @author xudongwang 2012-1-11 * * Email:xdwangiflytek@gmail.com */ public class Pinyin4jUtil { public static void main(String[] args) { String str = "王旭东"; System.out.println(getPinYin(str)); System.out.println(getPinYinHeadChar(str)); System.out.println(getStrASCII(str)); } /** * 将汉字转换为全拼 * * @param str * 汉字 * @return String 返回汉字的全拼音 */ public static String getPinYin(String str) { char[] strCharArray = null; strCharArray = str.toCharArray(); String[] pinYinArray = new String[strCharArray.length]; // 设置汉字拼音输出的格式 HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); //设置拼音的大小写,UPPERCASE表示大写,LOWERCASE表示小写 format.setCaseType(HanyuPinyinCaseType.LOWERCASE); format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); format.setVCharType(HanyuPinyinVCharType.WITH_V); String result = ""; int flag = strCharArray.length; try { for (int i = 0; i < flag; i++) { // 判断能否为汉字字符 if (Character.toString(strCharArray[i]).matches("[\\u4E00-\\u9FA5]+")) { pinYinArray = PinyinHelper.toHanyuPinyinStringArray(strCharArray[i], format);// 将汉字的几种全拼都存到pinYinArray数组中 result += pinYinArray[0];// 取出该汉字全拼的第一种读音并连接到字符串result后 } else { // 如果不是汉字字符,间接取出字符并连接到字符串result后 result += Character.toString(strCharArray[i]); } } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } return result; } /** * 提取每个汉字的首字母 * * @param str * 汉字 * @return String 返回汉字的拼音首字母 */ public static String getPinYinHeadChar(String str) { String convert = ""; for (int j = 0; j < str.length(); j++) { char word = str.charAt(j); // 提取汉字的首字母 String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word); if (pinyinArray != null) { convert += pinyinArray[0].charAt(0); } else { convert += word; } } return convert; } /** * 将字符串转换成ASCII码 * * @param str * 需要转换的字符串 * @return String 字符串转换后的ASCII码 */ public static String getStrASCII(String str) { StringBuffer strBuf = new StringBuffer(); // 将字符串转换成字节序列 byte[] bGBK = str.getBytes(); for (int i = 0; i < bGBK.length; i++) { // 将每个字符转换成ASCII码 strBuf.append(Integer.toHexString(bGBK[i] & 0xff)); } return strBuf.toString(); } }
说明:
HanyuPinyinOutputFormat格式:
其他具体的方法参数等可以参考官网给出的文档;
发表评论
-
log4j xml配置详解
2014-06-18 10:37 1172<?xml version="1.0&qu ... -
test
2013-07-29 09:16 0private static CacheImpl insta ... -
多文件上传 by MultipartFile and Multiple
2012-12-03 09:13 14378最近的一个项目中,需要用到 ... -
布局框架-SiteMesh
2012-11-30 08:57 2619最近在一个项目中使用 ... -
调用天气预报
2012-11-29 09:20 2020随着项目的进行,总感觉以前写的东西不是很如意,或者说没 ... -
Servlet
2012-12-07 08:36 1571一、认识 Servlet : ... -
连接池
2012-12-10 08:42 1470... -
忆Java String
2012-11-15 08:38 1296平时 .NET 写多了, Java ... -
Eclipse中右键快速定位文件资源的工具
2012-11-09 08:43 2037当你开发.NET项目后,使用VS习惯了再来使用Java和Ecl ... -
Java中MessageFormat对象实现格式化字符串输出,类似C#中的string.format方法
2012-09-29 11:39 3695平时.NET做多了,再做Java时,总会进行一些比较,比如说J ... -
byte[]与InputStream互转
2012-09-29 11:39 1609InputStream转byte[] private ... -
统一中英文长度问题
2012-07-20 00:17 1955最近因为在做一个项目要求很多都是英文,所以这就涉及到在页 ... -
Java中Process的waitFor()阻塞问题
2012-07-21 01:00 8988在做视频转换时,调用外部的 exe 去进行一些视频 ... -
Tomcat注册成系统服务
2012-07-17 00:00 1581为了部署项目后不出现黑色的 doc 命令框,所以很 ... -
urlrewrite实现伪静态化
2012-07-25 00:41 3236产生背景 静态网页与动态网页比较: ... -
Java中java.util.Date时间和java.sql.Date时间的相互转化
2012-01-30 22:49 2987刚刚写用 JS 禁用退格键时( http ... -
使用BeanUtils类简化request和resultset转换
2012-01-21 20:23 3011当提交表单时,如果没有使用Struts等框架的话,你的代 ... -
JDBC的多条件动态查询
2012-01-19 11:05 7226前面我已经提到了现在的项目无非就是列表里的分页加多条件查 ... -
JDBC分页
2012-01-19 10:15 5550不知道大家做项目做到最后有什么感觉没有,其实大家做来做去 ... -
Java农历(阴历)工具类
2012-01-20 11:30 2388在真实的项目开发中会可能会遇到项目需要对阴历即我们所说的农历节 ...
相关推荐
matlab
操作系统课程设计基于C++实现的操作系统仿真虚拟页式存储管理项目源代码
内容概要:本文详细介绍了西门子S7-1500 PLC与V90伺服在定长切断应用中的具体实现方法和技术要点。首先,文章展示了如何利用TIA Portal V16平台配置工艺对象“CuttingAxis”,并解释了关键参数如每转脉冲数、丝杆导程、减速比等的作用。接着,针对可能出现的问题,如轴运行抖动、控制字状态丢失等进行了深入探讨,并提供了相应的解决措施,比如调整前馈参数、修改报文配置等。此外,还分享了一些提高系统性能的小技巧,例如启用动态限制选项、优化速度前馈与位置环配合等。最后,强调了该方案在包装机械和线材加工领域的广泛应用前景及其优势所在。 适合人群:从事工业自动化相关工作的工程师和技术人员,尤其是那些希望深入了解和掌握西门子PLC与伺服系统集成应用的专业人士。 使用场景及目标:适用于需要实现高精度定长切断操作的企业或项目,旨在帮助用户构建稳定可靠的控制系统,确保生产效率和产品质量。 其他说明:文中不仅涵盖了理论知识讲解,还包括大量实际案例分析以及代码示例,便于读者更好地理解和应用所学内容。同时提醒读者关注硬件配置、软件编程、参数调节等多个方面,以达到最佳效果。
2023年计算机二级Office选择题考前模拟.docx
目前可以新建目录,具体自己看代码
基于SpringBoot网上超市,系统包含两种角色:用户、管理员,系统分为前台和后台两大模块,主要功能如下: 1 管理员功能实现 商品信息管理 管理员可以通过提交商品名称查询商品,并查看该商品的用户评论信息。 用户管理 管理员通过提交用户名来获取用户资料,对有异常情况的用户信息进行修改,并可以详细查看用户资料。 商品评价管理 管理员审核用户对商品的评价,经过审核的评价才会显示,并可以统计商品评价信息。 已支付订单 管理员查看已支付的订单,并逐个进行订单发货。 2 用户功能实现 商品信息 用户可以收藏、立即购买商品,或对商品进行评价,同时将商品添加到购物车。 购物车 用户可以直接下单购买购物车中的商品,或删除购物车中的商品。 确认下单 用户选择地址,查看支付金额信息,以确认订单之前的所有细节。 已支付订单 用户查看已支付的订单,若对购买商品产生后悔,可以申请退款。 二、项目技术 开发语言:Java 数据库:MySQL 项目管理工具:Maven Web应用服务器:Tomcat 前端技术:Vue、 后端技术:SpringBoot框架 三、运行环境 操作系统:Windows、macOS都可以 JDK版本:JDK1.8以上版本都可以 开发工具:IDEA、Ecplise都可以 数据库: MySQL 5.7/8.0版本均可 Tomcat:7.x、8.x、9.x版本均可 Maven:任意版本都可以
1_媒工十佳决赛RUNDOWN 2.xlsx
c#联合opencvsharp开发的视觉源码程序 包含模板匹配,找线找圆,预处理等功能 全部源码,包含图像显示控件,绘制roi
基于STC89C52单片机的信号发生器20172086102何雨莉_3.zip
2023年西南大学网络与继续教育学院楼宇自动化作业答案.docx
内容概要:本文详细介绍了基于SpringBoot和Vue构建的智慧养老手表管理系统的关键技术和实现细节。系统主要由家长和养老院管理员两种角色组成,家长可以通过智能手表实时查看老人的健康数据,而管理员则可以进行更全面的数据管理和权限控制。文中重点讨论了家庭树功能的实现,包括使用MyBatis的动态SQL处理复杂的家庭关系查询,以及前端用Vue的el-tree组件展示家庭树结构。健康数据监控方面,系统利用SpringBoot的@Scheduled定时任务生成日报,并通过ECharts进行数据可视化。此外,还涉及了权限控制、加好友功能、熔断机制等多个方面的技术实现。 适合人群:具有一定编程经验的开发者,尤其是熟悉SpringBoot和Vue框架的工程师。 使用场景及目标:适用于开发类似智慧养老系统的项目,旨在提高老年人健康管理的效率和安全性。目标是通过智能手表实时监测老人健康状况,提供及时的健康报告和预警,同时确保系统的稳定性和安全性。 其他说明:文中提到的技术细节对于理解和实现类似的前后端分离架构非常有帮助,特别是关于MySQL 5.7的使用和优化,以及如何处理第三方设备接口的不稳定问题。
2023年计算机二级资料.doc
2023年电大数据结构形成性考核册.doc
网络工程师易错100题 2025年
2023年电子商务技能竞赛方案.doc
2024年大数据软件项目深度研究分析报告.docx
内容概要:本文详细介绍了利用Matlab/Simulink构建输电线路单相接地故障测距模型的方法。首先,通过建立110kV输电线路的Simulink模型,采用Bergeron模型作为线路参数。接着,利用小波变换提取故障行波的模极大值点,结合凯伦布尔变换消除工频分量,从而精确计算故障位置。文中提供了详细的代码实现步骤,包括信号预处理、小波分解、模极大值检测以及时间差计算等。此外,还讨论了常见调试经验和避坑指南,如采样率设置、接地电阻限制等。最后,通过多个测试案例验证了模型的有效性和准确性。 适合人群:从事电力系统故障诊断的研究人员和技术人员,尤其是对小波变换和凯伦布尔变换感兴趣的工程师。 使用场景及目标:适用于输电线路单相接地故障的精确定位,旨在提高电力系统的可靠性和维护效率。通过掌握本文提供的方法,技术人员能够快速准确地找到故障点,减少停电时间和维修成本。 其他说明:本文不仅提供了理论解释,还包括具体的代码实现和调试建议,有助于读者更好地理解和应用所学知识。
内容概要:本文详细介绍了基于牛拉法的含分布式电源(如风能和太阳能)的IEEE33节点配电网潮流计算程序。首先解释了分布式电源的节点类型转换,将光伏处理为PQ节点,风机处理为PV节点。接着阐述了导纳矩阵的构建方法及其对分布式电源的影响,特别是变压器分接头的处理。然后深入探讨了牛拉法的核心迭代过程,包括功率不平衡量的计算、雅可比矩阵的构建以及修正方程的求解。此外,文章还讨论了风光出力波动的处理方法,并分享了一些常见的陷阱及解决方案,如PV节点振荡、孤岛检测和并行计算优化。最后,通过具体实例展示了程序的运行结果,强调了分布式电源接入位置的重要性。 适合人群:从事电力系统仿真、配电网规划与设计的研究人员和技术人员。 使用场景及目标:适用于研究分布式电源对接入配电网的影响,帮助理解和优化含分布式电源的配电网运行特性,提高潮流计算的准确性。 其他说明:文中提供了详细的代码片段和实践经验,有助于读者更好地理解和应用相关理论和技术。同时,文章指出了实际应用中的一些注意事项,如节点类型切换、变压器变比处理等,使读者能够避免常见错误。
单片机最小工作系统构建概述.pptx
2023年全国计算机二级c语言考试真题详细解答系列一.doc