JeeSite All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); */ package com.midai">
 | 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

Java字符串工具类

    /**        * 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();            }                    }