zoukankan      html  css  js  c++  java
  • StringUtils

    /需要导入第三方jar包pinyin4j.jar
    
    import net.sourceforge.pinyin4j.PinyinHelper;
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class StringUtils {
       protected static final String TAG = StringUtils.class.getSimpleName();
    
       /**
        * 增加空白
        */
       public static String addBlank(int size) {
          return String.format("%" + size + "s", "");
       }
    
       /**
        * 判断字符串是否为null或者""
        */
       public static boolean isEmptyOrNull(String content) {
          if (content == null || content.equals("")) {
             return true;
          }
          return false;
       }
    
       /**
        *  判断字符串是否为IP地址
        */
       public static boolean isIPAddress(String ipString) {
          if (ipString != null) {
             String[] singleArray = ipString.split("\.");
             if (singleArray == null) {
                return false;
             }
             for (String numString : singleArray) {
                if (isEmptyOrNull(numString.trim())) {
                   return false;
                }
                try {
                   int num = Integer.parseInt(numString.trim());
                   if (num < 0 || num > 255) {
                      return false;
                   }
                } catch (NumberFormatException e) {
                   return false;
                }
    
             }
             return true;
          }
          return false;
       }
    
       /**
        * 是否是email地址
        */
       public static boolean isEmailAddress(String emailString) {
          String format = "\p{Alpha}\w{2,15}[@][a-z0-9]{3,}[.]\p{Lower}{2,}";
          return isMatch(format, emailString);
       }
    
       /**
        * 是否为数字
        */
       public static boolean isDigit(String digitString) {
          if (!isEmptyOrNull(digitString)) {
             String regex = "[0-9]*";
             return isMatch(regex, digitString);
          }
          return false;
       }
    
       /**
        *  字符串正则校验
        */
       public static boolean isMatch(String regex, String string) {
    
          Pattern pattern = Pattern.compile(regex);
          Matcher matcher = pattern.matcher(string);
          return matcher.matches();
       }
    
       /**
        *是否为URL地址
        */
       public static boolean isUrl(String strIp) {
          String strPattern = "^((https?)|(ftp))://(?:(\s+?)(?::(\s+?))?@)?([a-zA-Z0-9\-.]+)"
                + "(?::(\d+))?((?:/[a-zA-Z0-9\-._?,'+\&%$=~*!():@\\]*)+)?$";
          return isMatch(strPattern, strIp);
       }
    
       /**
        *  String 转换成Unicode
        * @param string
        *            传入汉字
        * @return
        */
       public static String string2Unicode(String string) {
          if (!isEmptyOrNull(string)) {
             char[] charArray = string.toCharArray();
             StringBuffer buffer = new StringBuffer();
             for (char ch : charArray) {
                int code = (int) ch;
                buffer.append(code);
             }
             return buffer.toString();
          }
          return null;
       }
    
       /**
        *  Unicode转换成String
        * @param string
        * @return
        */
       public static String unicode2String(String string) {
          if (!isEmptyOrNull(string)) {
             int end = 0;
             String noSpace = string.trim();
             int count = noSpace.length() / 5;
             StringBuffer buffer = new StringBuffer();
    
             for (int j = 0; j < count; j++) {
                end += 5;
                int uCode = Integer.valueOf(noSpace.substring(j * 5, end));
                buffer.append((char) uCode);
    
             }
             return buffer.toString();
          }
          return null;
       }
    
       /**
        *  得到首字母
        */
       public static String getPinYinFirstLetter(String string) {
          if (!isEmptyOrNull(string)) {
             char[] cs = string.toCharArray();
             for (int i = 0; i < cs.length; i++) {
                String[] pinyins = null;
                if (cs[i] > 128) {
                   pinyins = PinyinHelper.toHanyuPinyinStringArray(cs[i]);
                }
                if (pinyins != null && pinyins.length > 0) {
                   return pinyins[0].substring(0, 1);
                }
             }
          }
          return null;
       }
    
       /**
        * 获取url参数
        */
       public static String getParamValueOfUrl(String url, String paramName) {
          try {
             String urls[] = url.split("[?]");
             if (urls.length > 1) {
                String param = urls[1];
                String params[] = param.split("[&]");
                for (String string : params) {
                   String keyAndValue[] = string.split("[=]");
                   if (keyAndValue.length > 1) {
                      String key = keyAndValue[0];
                      String value = keyAndValue[1];
                      if (key.equalsIgnoreCase(paramName)) {
                         return value;
                      }
                   }
                }
             }
          } catch (Exception e) {
             return "";
          }
          return "";
       }
    
       /**
        * 半角转换为全角
        * @param input
        * @return
       */
       public static String ToDBC(String input) {
          char[] c = input.toCharArray();
          for (int i = 0; i < c.length; i++) {
             if (c[i] == 12288) {
                c[i] = (char) 32;
                continue;
             }
             if (c[i] > 65280 && c[i] < 65375)
                c[i] = (char) (c[i] - 65248);
          }
          return new String(c);
       }
    
       /**
        * 去除特殊字符或将所有中文标号替换为英文标号
        * @param str
        * @return
       */
       public static String stringFilter(String str) {
          str = str.replaceAll("【", "[").replaceAll("】", "]").replaceAll("!", "!").replaceAll(":", ":");// 替换中文标号
          String regEx = "[『』]"; // 清除掉特殊字符
          Pattern p = Pattern.compile(regEx);
          Matcher m = p.matcher(str);
          return m.replaceAll("").trim();
       }
    
       /**
        * 根据Unicode编码完美的判断中文汉字和符号
        * @param c
        * @return
        */
    
       private static boolean isChinese(char c) {
    
          Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
    
          if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
    
          || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
    
          || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
    
          || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
    
          || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
    
          || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
    
          || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {
    
             return true;
    
          }
    
          return false;
    
       }
    
       /**
        * 完整的判断中文汉字和符号
        * @param strName
        * @return
        */
    
       public static boolean isChinese(String strName) {
    
          char[] ch = strName.toCharArray();
    
          for (int i = 0; i < ch.length; i++) {
    
             char c = ch[i];
    
             if (isChinese(c)) {
    
                return true;
    
             }
    
          }
    
          return false;
    
       }
    
    public static String parseStream2Str(InputStream is) {
          //内存输出流
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
          int len = -1;
          byte[] buffer = new byte[1024*8];
          try {
             while((len = is.read(buffer)) != -1){
                baos.write(buffer, 0, len);
             }
             return new String(baos.toByteArray());
          } catch (Exception e) {
             e.printStackTrace();
             return null;
          }
       }
    }
    
  • 相关阅读:
    linux tcp/ip 调优
    ulimit 管理系统资源
    linux grep 设置高亮显示
    linux 调整内核优化
    微信公众平台自定义菜单及高级接口PHP SDK
    微信公众平台开发(102) 模版消息
    微信WeixinJSBridge API
    微信支付开发(2) 静态链接Native支付
    微信分享JS接口失效说明及解决方案
    微信JS接口
  • 原文地址:https://www.cnblogs.com/loaderman/p/6435172.html
Copyright © 2011-2022 走看看