Java字符串工具类(未测试)

来源:互联网 发布:2016软件评测师真题 编辑:程序博客网 时间:2024/04/29 22:25
  /**      * Copyright &copy; 2012-2013 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.      *      * Licensed under the Apache License, Version 2.0 (the "License");      */      package com.midai.util;            import java.io.UnsupportedEncodingException;      import java.util.Locale;      import java.util.regex.Matcher;      import java.util.regex.Pattern;            import javax.servlet.http.HttpServletRequest;            import org.apache.commons.lang3.StringEscapeUtils;      import org.springframework.web.context.request.RequestContextHolder;      import org.springframework.web.context.request.ServletRequestAttributes;            /**      * 字符串工具类, 继承org.apache.commons.lang3.StringUtils类      * @author ThinkGem      * @version 2013-05-22      */      public class StringUtils extends org.apache.commons.lang3.StringUtils {                    public static String lowerFirst(String str){              if(StringUtils.isBlank(str)) {                  return "";              } else {                  return str.substring(0,1).toLowerCase() + str.substring(1);              }          }                    public static String upperFirst(String str){              if(StringUtils.isBlank(str)) {                  return "";              } else {                  return str.substring(0,1).toUpperCase() + str.substring(1);              }          }                /**          * 替换掉HTML标签方法          */          public static String replaceHtml(String html) {              if (isBlank(html)){                  return "";              }              String regEx = "<.+?>";              Pattern p = Pattern.compile(regEx);              Matcher m = p.matcher(html);              String s = m.replaceAll("");              return s;          }                /**          * 缩略字符串(不区分中英文字符)          * @param str 目标字符串          * @param length 截取长度          * @return          */          public static String abbr(String str, int length) {              if (str == null) {                  return "";              }              try {                  StringBuilder sb = new StringBuilder();                  int currentLength = 0;                  for (char c : replaceHtml(StringEscapeUtils.unescapeHtml4(str)).toCharArray()) {                      currentLength += String.valueOf(c).getBytes("GBK").length;                      if (currentLength <= length - 3) {                          sb.append(c);                      } else {                          sb.append("...");                          break;                      }                  }                  return sb.toString();              } catch (UnsupportedEncodingException e) {                  e.printStackTrace();              }              return "";          }                /**          * 缩略字符串(替换html)          * @param str 目标字符串          * @param length 截取长度          * @return          */          public static String rabbr(String str, int length) {              return abbr(replaceHtml(str), length);          }                                  /**          * 转换为Double类型          */          public static Double toDouble(Object val){              if (val == null){                  return 0D;              }              try {                  return Double.valueOf(trim(val.toString()));              } catch (Exception e) {                  return 0D;              }          }                /**          * 转换为Float类型          */          public static Float toFloat(Object val){              return toDouble(val).floatValue();          }                /**          * 转换为Long类型          */          public static Long toLong(Object val){              return toDouble(val).longValue();          }                /**          * 转换为Integer类型          */          public static Integer toInteger(Object val){              return toLong(val).intValue();          }                              /**          * 获得用户远程地址          */          public static String getRemoteAddr(HttpServletRequest request){              String remoteAddr = request.getHeader("X-Real-IP");              if (isNotBlank(remoteAddr)) {                  remoteAddr = request.getHeader("X-Forwarded-For");              }else if (isNotBlank(remoteAddr)) {                  remoteAddr = request.getHeader("Proxy-Client-IP");              }else if (isNotBlank(remoteAddr)) {                  remoteAddr = request.getHeader("WL-Proxy-Client-IP");              }              return remoteAddr != null ? remoteAddr : request.getRemoteAddr();          }                }  

0 0
原创粉丝点击