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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10349.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论