java字符操作获取汉字的拼音以及其它经常使用工具
2016-02-12 15:00
609 查看
公司需求年年有,今年有点小特殊,哈哈。
忽然加了个需求,说要实现汉字转拼音查询。
在努力下写出来了,如今分享一下吧!。!
最后,我们常常要做一些字符为空推断之类的,和其它数据的正则
表达式的验证,如今也给出福利吧。。。
/**
* 推断输入的字符串參数是否为空
*
* @return boolean 空则返回true,非空则flase
*/
public static boolean isEmpty(String input) {
return null == input || 0 == input.length()
|| 0 == input.replaceAll("\\s", "").length();
}
/**
* 推断输入的字节数组是否为空
*
* @return boolean 空则返回true,非空则flase
*/
public static boolean isEmpty(byte[] bytes) {
return null == bytes || 0 == bytes.length;
}
/**
* 字节数组转为字符串
*
* @see 该方法默认以ISO-8859-1转码
* @see 若想自己指定字符集,能够使用<code>getString(byte[] data, String charset)</code>方法
*/
public static String getString(byte[] data) {
String str = "";
try {
str = new String(data, "ISO-8859-1");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str;
}
// 匹配输入数据类型
public static boolean matchCheck(String ins, int type) {
String pat = "";
switch (type) {
case 0: // /手机号
pat = "^1[3-8][0-9]{9}$";
break;
case 1:// /邮箱
pat = "^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
break;
case 2: // /username
pat = "^[0-9a-zA-Z]{4,12}$";
break;
case 3: // /password
pat = "^[\\s\\S]{6,18}$";
break;
case 4: // /中文
pat = "^[0-9a-z\u4e00-\u9fa5|admin]{2,15}$";
break;
case 5: // /非零正整数
pat = "^\\+?[1-9][0-9]*$";
break;
case 6: // /数字和字母
pat = "^[A-Za-z0-9]+$";
break;
case 7: // /1-9的数字
pat = "^[1-9]";
break;
case 8: // /身份证
pat = "^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$";
break;
case 9: // /名字
pat = "^([A-Za-z]|[\u4E00-\u9FA5])+$";
break;
case 10: // /时间 时:分:秒
pat = "^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$";
break;
}
Pattern p = Pattern.compile(pat);
Matcher m = p.matcher(ins);
return m.matches();
}
忽然加了个需求,说要实现汉字转拼音查询。
在努力下写出来了,如今分享一下吧!。!
public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm"; public static final String DATE_FORMAT2 = "yyyy-MM-dd HH:mm:ss"; public static final String YEAR_MONTH_FORMAT = "yyyy-MM"; public static final String DATE_FORMAT3 = "HH:mm:ss"; public static final String DATE_FORMAT1 = "yyyyMMddHHmmss"; /** * 时间格式,採用24小时制 */ public static final String TIME_FORMAT = "HH:mm"; /** * 不带秒的时间日期格式 */ public static final String DATE_FORMAT_NO_SECOND = "yyyy-MM-dd HH:mm"; /** * 不是时间的日期格式 */ public static final String DATE_FORMAT_NO_TIME = "yyyy-MM-dd"; // 返回相应的时间字符串 public static String getStrByDate(Date date) { String str = ""; SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT); str = sdf.format(date); return str; } // 返回相应的时间字符串 public static String getStrByDate2(Date date) { String str = ""; SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT); str = sdf.format(date); return str; } // 返回相应的时间字符串 public static String getStrByDate1(Date date) { String str = ""; SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT2); str = sdf.format(date); return str; } /** * 将日期转换成字符串格式 * * @param date * @return */ public static String dateTran2Str(Date date) { SimpleDateFormat dateFormat = new SimpleDateFormat( StrUtil.DATE_FORMAT_NO_SECOND); return dateFormat.format(date); } /** * 将日期转换成字符串格式 * * @param date * @return */ public static String BillRandom(Date date) { SimpleDateFormat dateFormat = new SimpleDateFormat(StrUtil.DATE_FORMAT1); return dateFormat.format(date); } /** * 将日期转换成字符串格式 * * @param date * @param format日期格式 * @return */ public static String dateTran2Str(Date date, String format) { SimpleDateFormat dateFormat = new SimpleDateFormat(format); return dateFormat.format(date); } /** * 将日期转换成字符串格式 * * @param date * @param format日期格式 * @return */ public static String dateTran2Str(Object date, String format) { SimpleDateFormat dateFormat = new SimpleDateFormat(format); return dateFormat.format(date); } /** * 将日期转换成字符串格式 * * @param date * @param format日期格式 * @return */ public static String dateTran2Str(Object date) { SimpleDateFormat dateFormat = new SimpleDateFormat( DATE_FORMAT_NO_SECOND); return dateFormat.format(date); } /** * 带秒的时间格式 * * @param date * @param format日期格式 * @return */ public static String dateTranStr2exc(Object date) { SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT2); return dateFormat.format(date); } /** * 将日期型字符串转换为日期 * * @param dateStr * 一定要是日期转过来的日期型字符串,否则会有ParseException * @return null表示ParseException */ public static Date strTran2Date(String dateStr) { try { return new SimpleDateFormat(StrUtil.DATE_FORMAT_NO_SECOND) .parse(dateStr); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } /** * 将日期型字符串转换为日期 * * @param dateStr * 一定要是日期转过来的日期型字符串。否则会有ParseException * @param pattern指定的时间格式 * @return null表示ParseException */ public static Date strTran2Date(String dateStr, String pattern) { try { return new SimpleDateFormat(pattern).parse(dateStr); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } /** * float型数据转换成String * * @param f * @return */ public static String floatTran2Str(float f) { return String.valueOf(f); } /** * 将时间转换成long型时间戳 * * @param timeStr * 时间的字符串表示,格式为:HH:mm * @return */ public static Long strTran2Time(String timeStr) { SimpleDateFormat timeFormat = new SimpleDateFormat(TIME_FORMAT); Date time = null; try { int len = timeStr.length(); if (timeStr.length() > 10) { timeStr = timeStr.substring(10); } time = timeFormat.parse(timeStr); return time.getTime(); } catch (ParseException e) { System.out.println(new Exception("日期格式非法! ").getMessage()); } return null; } /** * 将数据库的时间转换成字符串 * * @param t时间 * @return */ public static String timeTran2Str(Object t) { SimpleDateFormat timeFormat = new SimpleDateFormat(TIME_FORMAT); String timeStr = null; timeStr = timeFormat.format(t); return timeStr; } /** * 将时间戳转换成字符串 * * @param timestampString * @return */ public static String timeStamp2Date(String timestampString) { Long timestamp = Long.parseLong(timestampString) * 1000; String date = new java.text.SimpleDateFormat("yyyy-MM-dd") .format(new java.util.Date(timestamp)); return date; } public static String strTranBirth(String day) { if (day.length() == 8) { String y = day.substring(0, 4); String m = day.substring(4, 6); String d = day.substring(6, 8); return y + "-" + m + "-" + d; } return day; }
最后,我们常常要做一些字符为空推断之类的,和其它数据的正则
表达式的验证,如今也给出福利吧。。。
/**
* 推断输入的字符串參数是否为空
*
* @return boolean 空则返回true,非空则flase
*/
public static boolean isEmpty(String input) {
return null == input || 0 == input.length()
|| 0 == input.replaceAll("\\s", "").length();
}
/**
* 推断输入的字节数组是否为空
*
* @return boolean 空则返回true,非空则flase
*/
public static boolean isEmpty(byte[] bytes) {
return null == bytes || 0 == bytes.length;
}
/**
* 字节数组转为字符串
*
* @see 该方法默认以ISO-8859-1转码
* @see 若想自己指定字符集,能够使用<code>getString(byte[] data, String charset)</code>方法
*/
public static String getString(byte[] data) {
String str = "";
try {
str = new String(data, "ISO-8859-1");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str;
}
// 匹配输入数据类型
public static boolean matchCheck(String ins, int type) {
String pat = "";
switch (type) {
case 0: // /手机号
pat = "^1[3-8][0-9]{9}$";
break;
case 1:// /邮箱
pat = "^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
break;
case 2: // /username
pat = "^[0-9a-zA-Z]{4,12}$";
break;
case 3: // /password
pat = "^[\\s\\S]{6,18}$";
break;
case 4: // /中文
pat = "^[0-9a-z\u4e00-\u9fa5|admin]{2,15}$";
break;
case 5: // /非零正整数
pat = "^\\+?[1-9][0-9]*$";
break;
case 6: // /数字和字母
pat = "^[A-Za-z0-9]+$";
break;
case 7: // /1-9的数字
pat = "^[1-9]";
break;
case 8: // /身份证
pat = "^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$";
break;
case 9: // /名字
pat = "^([A-Za-z]|[\u4E00-\u9FA5])+$";
break;
case 10: // /时间 时:分:秒
pat = "^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$";
break;
}
Pattern p = Pattern.compile(pat);
Matcher m = p.matcher(ins);
return m.matches();
}
相关文章推荐
- Java学习笔记4-反射
- 在java中的基础点
- Spring解析(一) IOC容器
- spring(AOP)多个切面
- java基础20递归
- Java认证考试实例疑难辨析(7)
- Eclipse调试程序的方法
- java休眠
- 《Java程序设计》第三章-基础语法
- java中常用的工具类
- java调用R语言--以Rserve方式
- java.lang.NoClassDefFoundError: ognl/PropertyAccessor解决的方法
- java 程序自动升级引起环境变量的问题
- 蓝桥杯 历届试题 核桃的数量
- 个人学习-java-面向对象
- SpringJdbcTemplate添加代码事务支持
- spring(AOP)权限处理
- spring声明式事务基本配置
- Java EE 之 过滤器入门学习与总结(2)
- Java EE 之 过滤器入门学习与总结(2)