String-常见工具收集
2016-01-25 11:07
330 查看
1将带有小数的数字转为字符串,同时进行四舍五入
main
2百分比转换
main
3判断字符串是否为空
4凯德加密
5凯德解密
6图片,文档,视频后缀
8将数字转换成对应的中文
9文件大小转换
10判断字符串是否都是数字组成
13网络地址验证
14判断字符串是否都是英文字母组成
15判断字符串是否都是英文字母和数字组成
16统计单个字符在字符串中出现的次数
18首字母转换为大写/小写
20进制表示的字符串转换为字节数组
public static String formatDoubleToString(double dou,String format) { if(isEmpty(format))format = "#.##"; DecimalFormat decimalFormat = new DecimalFormat(format); String string = decimalFormat.format(dou);// 四舍五入,逢五进一 return string; }
main
public static void main(String[] args) { System.out.println(formatDoubleToString(1245.555221,null)); }
2百分比转换
public static String getPercent(int num,double totalCount,String...objects){ String format = "#.##"; if(objects!=null && objects.length>0){ format = objects[0]; } return formatDoubleToString((num/totalCount)*100,format)+"%"; }
main
public static void main(String[] args) { System.out.println(getPercent(50,90,null)); }
3判断字符串是否为空
public static boolean isEmpty(String str) { return null == str || str.length() == 0 || "".equals(str) || str.matches("\\s*"); }
4凯德加密
public static String encryption(String str,int k){ String string = ""; for (int i = 0; i < str.length(); i++) { char c= str.charAt(i); if(c>='a' && c<='z'){ c += k%26; if(c<'a'){ c+=26; } if(c>'z'){ c-=26; } }else if(c>='A' && c<='Z'){ c+=k%26; if(c<'A'){ c+=26; } if(c>'Z'){ c-=26; } } string+=c; } return string; }
5凯德解密
public static String dencryption(String str,int n){ String string = ""; int k = Integer.parseInt("-"+n); for (int i = 0; i < str.length(); i++) { char c= str.charAt(i); if(c>='a' && c<='z'){ c += k%26; if(c<'a'){ c+=26; } if(c>'z'){ c-=26; } }else if(c>='A' && c<='Z'){ c+=k%26; if(c<'A'){ c+=26; } if(c>'Z'){ c-=26; } } string+=c; } return string; }
6图片,文档,视频后缀
public static boolean isImage(String ext){ return ext.toLowerCase().matches("jpg|gif|bmp|png|jpeg"); }
public static boolean isDoc(String ext){ return ext.toLowerCase().matches("doc|docx|xls|xlsx|pdf|txt|ppt|pptx|rar|zip|html|jsp|sql|htm|shtml|xml"); }
public static boolean isVideo(String ext){ return ext.toLowerCase().matches("mp4|flv|mp3|rmbv|avi"); }7md5加密
public static String md5Base64(String str) { try { MessageDigest md5 = MessageDigest.getInstance("MD5"); return base64Encode(md5.digest(str.getBytes())); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return null; } public static String base64Encode(byte[] b) { if (b == null) { return null; } return new BASE64Encoder().encode(b); }
8将数字转换成对应的中文
public static String intToChnNumConverter(int num){ String resultNumber = null; if(num > 10000 || num < 0){ return ""; } HashMap chnNumbers = new HashMap(); chnNumbers.put(0, "零"); chnNumbers.put(1, "一"); chnNumbers.put(2, "二"); chnNumbers.put(3, "三"); chnNumbers.put(4, "四"); chnNumbers.put(5, "五"); chnNumbers.put(6, "六"); chnNumbers.put(7, "七"); chnNumbers.put(8, "八"); chnNumbers.put(9, "九"); HashMap unitMap = new HashMap(); unitMap.put(1, ""); unitMap.put(10, "十"); unitMap.put(100, "百"); unitMap.put(1000, "千"); int[] unitArray = {1000, 100, 10, 1}; StringBuilder result = new StringBuilder(); int i = 0; while(num > 0){ int n1 = num / unitArray[i]; if(n1 > 0){ result.append(chnNumbers.get(n1)).append(unitMap.get(unitArray[i])); } if(n1 == 0){ if(result.lastIndexOf("零") != result.length()-1){ result.append("零"); } } num = num % unitArray[i++]; if(num == 0){ break; } } resultNumber = result.toString(); if(resultNumber.startsWith("零")){ resultNumber = resultNumber.substring(1); } if(resultNumber.startsWith("一十")){ resultNumber = resultNumber.substring(1); } return resultNumber; }
9文件大小转换
public static String countFileSize(long fileSize) { String fileSizeString = ""; try { DecimalFormat df = new DecimalFormat("#.00"); long fileS = fileSize; if (fileS == 0) { fileSizeString = "0KB"; } else if (fileS < 1024) { fileSizeString = df.format((double) fileS) + "B"; } else if (fileS < 1048576) { fileSizeString = df.format((double) fileS / 1024) + "KB"; } else if (fileS < 1073741824) { fileSizeString = df .format(((double) fileS / 1024 / 1024) - 0.01) + "MB"; } else { fileSizeString = df.format((double) fileS / 1024 / 1024 / 1024) + "G"; } } catch (Exception e) { e.printStackTrace(); } return fileSizeString; }
10判断字符串是否都是数字组成
public static boolean isNumber(String numString) { return StringUtils.isNumeric(numString); }11邮箱验证
public static boolean isEmail(String email) { boolean flag = false; try { String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher(email); flag = matcher.matches(); } catch (Exception e) { flag = false; } return flag; }12验证手机号码
public static boolean isMobile(String mobiles) { boolean flag = false; try { Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"); Matcher m = p.matcher(mobiles); flag = m.matches(); } catch (Exception e) { flag = false; } return flag; }
13网络地址验证
public static boolean isHomepage(String str) { String regex = "http://(([a-zA-z0-9]|-){1,}\\.){1,}[a-zA-z0-9]{1,}-*"; return match(regex, str); } private static boolean match(String regex, String str) { Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); return matcher.matches(); }
14判断字符串是否都是英文字母组成
public static boolean isEnglish(String string) { return StringUtils.isAlpha(string); }
15判断字符串是否都是英文字母和数字组成
public static boolean isEnglishOrNumber(String numEnglishString) { return StringUtils.isAlphanumeric(numEnglishString); }
16统计单个字符在字符串中出现的次数
public static int counter(String string, char c) { int count = 0; for (int i = 0; i < string.length(); i++) { if (string.charAt(i) == c) { count++; } } return count; }17统计字符串中的中文个数
public static int getChineseCount(String s) throws UnsupportedEncodingException { char c; int chineseCount = 0; if (!"".equals("")) { try { s = new String(s.getBytes(), "GBK"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } for (int i = 0; i < s.length(); i++) { c = s.charAt(i); if (isChineseChar(c)) { chineseCount++; } } return chineseCount; }
public static boolean isChineseChar(char c) throws UnsupportedEncodingException { return String.valueOf(c).getBytes("GBK").length > 1; }
18首字母转换为大写/小写
public static String toUpperCaseFirst(String text) { return text.substring(0, 1).toUpperCase() + text.substring(1); }
public static String toLowerCaseFirst(String text) { return text.substring(0, 1).toLowerCase() + text.substring(1); }19:判断是否为数字
public static boolean isNumeric(String str) { Matcher isNum = Pattern.compile("(-|\\+)?[0-9]+(.[0-9]+\\+)?").matcher( str); return isNum.matches(); }
20进制表示的字符串转换为字节数组
public static byte[] hexStringToBytes(String hexString) { if (hexString == null || hexString.equals("")) { return null; } hexString = hexString.toUpperCase(); char[] hexChars = hexString.toCharArray(); int length = hexString.length(); byte[] d = new byte[length >>> 1]; for (int n = 0; n < length; n += 2) { String item = new String(hexChars, n, 2); // 两位一组,表示一个字节,把这样表示的16进制字符串,还原成一个进制字节 d[n >>> 1] = (byte) Integer.parseInt(item, 16); } return d; }
相关文章推荐
- java中文乱码解决之道(七)-----JSP页面编码过程
- java中文乱码解决之道(八)-----解决URL中文乱码问题
- ASP
- 青春最大的遗憾不是失败,而是后悔
- MyBatis 配置
- java中文乱码解决之道(六)-----javaWeb中的编码解码
- 【设计模式】抽象工厂模式
- spring的事物管理配置
- 谁曾是从谁的青春里走过,留下了笑靥
- 数组——字符串拆为数组及反相
- 欢迎使用CSDN-markdown编辑器
- 查看LINUX进程内存占用情况
- 关于SQLite索引对写入性能影响的测试
- Android框架
- 软件测试:购买商品类测试不可忽略的问题
- 【设计模式】命令模式
- 视觉词袋模型
- Linux查看物理CPU个数、核数、逻辑CPU个数
- java中文乱码解决之道(四)-----java编码转换过程
- java中文乱码解决之道(五)-----java是如何编码解码的