package com.hehenian.biz.common.util; import java.math.BigDecimal; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; public class StringUtil { /** * 数字转成double类型 * @param v1 * @return */ public static double strToDouble(String v1) { return strToDouble(v1,0); } /** * * @param v1 字符的数字转double * @param defaultVal 默认值 * @return */ public static double strToDouble(String v1,double defaultVal) { if( null == v1 || "".equals(v1)){ return defaultVal; } BigDecimal b1 = new BigDecimal(v1); return b1.doubleValue(); } /** * 数字转成long类型 * @param v1 * @return */ public static long strToLong(String v1) { return strToLong(v1,0); } /** * * @param v1 字符的数字转long * @param defaultVal 默认值 * @return */ public static long strToLong(String v1,long defaultVal) { if( null == v1 || "".equals(v1)){ return defaultVal; } BigDecimal b1 = new BigDecimal(v1); return b1.longValue(); } /** * 数字转成long类型 * @param v1 * @return */ public static int strToInt(String v1) { return strToInt(v1,0); } /** * * @param v1 字符的数字转long * @param defaultVal 默认值 * @return */ public static int strToInt(String v1,int defaultVal) { if( null == v1 || "".equals(v1)){ return defaultVal; } BigDecimal b1 = new BigDecimal(v1); return b1.intValue(); } /** * 处理字符为空的时候返回默认值 * @param str * @param defaultValue * @return * @author: zhangyunhmf * @date: 2014年9月23日下午2:21:31 */ public static String strToStr(String str, String defaultValue) { String Result = defaultValue; if ((str != null) && (!str.isEmpty())) { Result = str; } return Result; } public static String FilteSqlInfusion(String input) { if ((input == null) || (input.trim() == "")) { return ""; } if (!StringUtils.isNumeric(input)) { return input.replace("'", "’").replace("update", "update").replace( "drop", "drop").replace("delete", "delete").replace("exec", "exec").replace("create", "create").replace("execute", "execute").replace("where", "where").replace("truncate", "truncate").replace("insert", "insert"); } else { return input; } } public static String filterDangerString(String value) { if (value == null) { return null; } value = value.replaceAll("'", ""); value = value.replaceAll(">", ">"); value = value.replaceAll("<", "<"); value = value.replaceAll("<script>", "<script>"); value = value.replaceAll("</script>", "</script>"); return value; } public static String fullString(long i, int length){ String result = String.valueOf(i); while (result.length()<length){ result="0"+result; } return result; } public static void main(String[] args) { System.out.println(fullString(100, 4)); } /** * @Description: WML 编码 * @param str * @return * @author: zhanbmf * @date 2015-3-29 下午5:42:22 */ public static String encodeWML(String str) { if(str == null) return ""; StringBuilder sb = new StringBuilder(); for(int i = 0; i < str.length(); i++) { char c = str.charAt(i); switch(c) { case 36: // '$' case 255: break; case 38: // '&' sb.append("&"); break; case 9: // '\t' sb.append(" "); break; case 60: // '<' sb.append("<"); break; case 62: // '>' sb.append(">"); break; case 34: // '"' sb.append("""); break; case 10: // '\n' sb.append("<br/>"); break; default: if(c < 0 || c > '\037') sb.append(c); break; } } return sb.toString(); } /** * @Description: net unicode解码 * @param str * @return * @author: zhanbmf * @date 2015-3-29 下午5:43:12 */ public static String decodeNetUnicode(String str) { String pStr = "&#(\\d+);"; Pattern p = Pattern.compile(pStr); Matcher m = p.matcher(str); StringBuffer sb = new StringBuffer(); String s; for(; m.find(); m.appendReplacement(sb, Matcher.quoteReplacement(s))) { String mcStr = m.group(1); int charValue = NumberUtils.toInt(mcStr, -1); s = charValue <= 0 ? "" : (new StringBuilder(String.valueOf((char)charValue))).toString(); } m.appendTail(sb); return sb.toString(); } /** * @Description: sql编码 * @param sql * @return * @author: zhanbmf * @date 2015-3-29 下午5:44:01 */ public static String encodeSQL(String sql) { if(sql == null) return ""; StringBuilder sb = new StringBuilder(); for(int i = 0; i < sql.length(); i++) { char c = sql.charAt(i); switch(c) { case 92: // '\\' sb.append("\\\\"); break; case 13: // '\r' sb.append("\\r"); break; case 10: // '\n' sb.append("\\n"); break; case 9: // '\t' sb.append("\\t"); break; case 8: // '\b' sb.append("\\b"); break; case 39: // '\'' sb.append("''"); break; case 34: // '"' sb.append("\\\""); break; default: sb.append(c); break; } } return sb.toString(); } }