zoukankan      html  css  js  c++  java
  • String类的一些常用操作方法

      1 package com.liveyc.framework.util;
      2 
      3 import java.io.UnsupportedEncodingException;
      4 import java.net.URLDecoder;
      5 import java.text.DecimalFormat;
      6 import java.util.ArrayList;
      7 import java.util.HashMap;
      8 import java.util.Iterator;
      9 import java.util.List;
     10 import java.util.Map;
     11 import java.util.StringTokenizer;
     12 
     13 import org.apache.commons.collections.CollectionUtils;
     14 
     15 
     16 /** 
     17 * @author aitf 
     18 * @version 创建时间:2016年12月15日 下午2:38:30 
     19 * 类说明 
     20 */
     21 public class StringUtil {
     22 
     23     /**
     24      * <li>判断字符串是否为空值</li>
     25      * <li>NULL、空格均认为空值</li>.
     26      * 
     27      * @param value
     28      *            the value
     29      * 
     30      * @return true, if checks if is empty
     31      */
     32     public static boolean isEmpty(String value) {
     33         return null == value || "".equals(value.trim());
     34     }
     35     
     36 
     37     /**
     38      * 去除,分隔符,用于金额数值去格式化.
     39      * 
     40      * @param value
     41      *            the value
     42      * 
     43      * @return the string
     44      */
     45     public static String decimal(String value) {
     46         if (null == value || "".equals(value.trim())) {
     47             return "0";
     48         } else {
     49             return value.replaceAll(",", "");
     50         }
     51     }
     52 
     53     /**
     54      * 在数组中查找字符串.
     55      * 
     56      * @param params
     57      *            the params
     58      * @param name
     59      *            the name
     60      * @param ignoreCase
     61      *            the ignore case
     62      * 
     63      * @return the int
     64      */
     65     public static int indexOf(String[] params, String name, boolean ignoreCase) {
     66         if (params == null)
     67             return -1;
     68         for (int i = 0, j = params.length; i < j; i++) {
     69             if (ignoreCase && params[i].equalsIgnoreCase(name)) {
     70                 return i;
     71             } else if (params[i].equals(name)) {
     72                 return i;
     73             }
     74         }
     75         return -1;
     76     }
     77 
     78     /**
     79      * 查询Str2在Str1中出现几次
     80      * 
     81      * @param str1
     82      * @param str2
     83      * @return
     84      */
     85     public static int indexAllOf(String str1, String str2) {
     86         int he = 0;
     87         for (int i = 0; i < str1.length(); i++) {
     88             int t = str1.indexOf(str2, i);
     89             if (i == t) {
     90                 he++;
     91             }
     92         }
     93         return he;
     94     }
     95 
     96     /**
     97      * 将字符转数组.
     98      * 
     99      * @param str
    100      *            the str
    101      * 
    102      * @return the string[]
    103      */
    104     public static String[] toArr(String str) {
    105         String inStr = str;
    106         String a[] = null;
    107         try {
    108             if (null != inStr) {
    109                 StringTokenizer st = new StringTokenizer(inStr, ",");
    110                 if (st.countTokens() > 0) {
    111                     a = new String[st.countTokens()];
    112                     int i = 0;
    113                     while (st.hasMoreTokens()) {
    114                         a[i++] = st.nextToken();
    115                     }
    116                 }
    117             }
    118         } catch (Exception e) {
    119             e.printStackTrace();
    120         }
    121         return a;
    122     }
    123 
    124     /**
    125      * 将字符转数组.
    126      * 
    127      * @param str
    128      *            the str
    129      * @param splitChar
    130      *            the split char
    131      * 
    132      * @return the string[]
    133      */
    134     public static String[] toArr(String str, String splitChar) {
    135         String inStr = str;
    136         String a[] = null;
    137         try {
    138             if (null != inStr) {
    139                 StringTokenizer st = new StringTokenizer(inStr, splitChar);
    140                 if (st.countTokens() > 0) {
    141                     a = new String[st.countTokens()];
    142                     int i = 0;
    143                     while (st.hasMoreTokens()) {
    144                         a[i++] = st.nextToken();
    145                     }
    146                 }
    147             }
    148         } catch (Exception e) {
    149             e.printStackTrace();
    150         }
    151         return a;
    152     }
    153 
    154     /**
    155      * 字符串数组包装成字符串.
    156      * 
    157      * @param ary
    158      *            the ary
    159      * @param s
    160      *            包装符号如 ' 或 "
    161      * 
    162      * @return the string
    163      */
    164     public static String toStr(String[] ary, String s) {
    165         if (ary == null || ary.length < 1)
    166             return "";
    167         StringBuffer bf = new StringBuffer();
    168         bf.append(s);
    169         bf.append(ary[0]);
    170         for (int i = 1; i < ary.length; i++) {
    171             bf.append(s).append(",").append(s);
    172             bf.append(ary[i]);
    173         }
    174         bf.append(s);
    175         return bf.toString();
    176     }
    177 
    178     /**
    179      * 得到字符的编码格式
    180      * 
    181      * @param str
    182      * @return
    183      */
    184     public static String getEncoding(String str) {
    185         String encode = "GB2312";
    186         try {
    187             if (str.equals(new String(str.getBytes(encode), encode))) {
    188                 String s = encode;
    189                 return s;
    190             }
    191         } catch (Exception exception) {
    192         }
    193         encode = "ISO-8859-1";
    194         try {
    195             if (str.equals(new String(str.getBytes(encode), encode))) {
    196                 String s1 = encode;
    197                 return s1;
    198             }
    199         } catch (Exception exception1) {
    200         }
    201         encode = "UTF-8";
    202         try {
    203             if (str.equals(new String(str.getBytes(encode), encode))) {
    204                 String s2 = encode;
    205                 return s2;
    206             }
    207         } catch (Exception exception2) {
    208         }
    209         encode = "GBK";
    210         try {
    211             if (str.equals(new String(str.getBytes(encode), encode))) {
    212                 String s3 = encode;
    213                 return s3;
    214             }
    215         } catch (Exception exception3) {
    216         }
    217         return "";
    218     }
    219 
    220 
    221     /**
    222      * utf8转码 Description :.
    223      * 
    224      * @param str
    225      *            the str
    226      * 
    227      * @return the string
    228      */
    229     public static String utf8Decoder(String str) {
    230         try {
    231             if (str != null) {
    232                 return URLDecoder.decode(str, "UTF-8");
    233             }
    234         } catch (UnsupportedEncodingException e) {
    235             e.printStackTrace();
    236         }
    237         return str;
    238     }
    239 
    240     
    241     public static String changeCharset(String str, String oldCharset, String newCharset)  
    242             throws UnsupportedEncodingException {  
    243         if (str != null) {  
    244             // 用旧的字符编码解码字符串。解码可能会出现异常。  
    245             byte[] bs = str.getBytes(oldCharset);  
    246             // 用新的字符编码生成字符串  
    247             return new String(bs, newCharset);  
    248         }  
    249         return null;  
    250     }  
    251 
    252     
    253     /**
    254      * 过滤掉高亮的html
    255      * @param str
    256      * @return
    257      */
    258     public static String htmlFilter(String str) {
    259         if (isEmpty(str)) {
    260             return str;
    261         }
    262         str = str.replace("<font color='red'>", "");
    263         str = str.replace("<font color='blue'>", "");
    264         str = str.replace("</font>", "");
    265         
    266         return str;
    267     }
    268     
    269     public static String trimString(String str){
    270         if(isEmpty(str)){
    271             return str;
    272         }
    273         return str.trim();
    274     }
    275     
    276     
    277     public static String encodeToUtf(String str) throws Exception {
    278         if(isEmpty(str)){
    279             return str;
    280         }
    281         return new String(str.getBytes("iso-8859-1"), "UTF-8");
    282     }
    283     
    284     /**
    285      * 根据身份证号转性别
    286      * @param sfzh
    287      * @return
    288      */
    289     public static String converToSex(String sfzh){
    290         int sex = 0;
    291         if(StringUtil.isEmpty(sfzh)){
    292             return "";
    293         }else{
    294             if(sfzh.length()==15){
    295                 sex = Integer.parseInt(sfzh.substring(13,14));
    296             }else if(sfzh.length()==18){
    297                 sex = Integer.parseInt(sfzh.substring(16,17));
    298             }
    299             if(sex%2 == 0){
    300                 return "女";
    301             }else{
    302                 return "男";
    303             }
    304         }
    305     }
    306     
    307     /**
    308      * 设置地址的Map,并去重
    309      * @param addrMap
    310      * @param fromType
    311      * @param addrs
    312      */
    313     public static void setAddr2Map(Map addrMap,String addrs,String fromType){
    314         String[] addrls = null ;
    315         if(addrMap==null){
    316             addrMap = new HashMap();
    317         }
    318         if(addrMap.containsKey(fromType)){
    319             String strAddr = (String)addrMap.get(fromType);
    320             if(strAddr!=null && strAddr.trim().length()>0){
    321                 addrls = strAddr.split(",");
    322             }
    323             
    324             if(!isExsit(addrls,addrs)){
    325                 strAddr +=","+addrs;
    326                 addrMap.put(fromType, strAddr);
    327             }
    328         }else{
    329             addrMap.put(fromType, addrs);
    330         }
    331     }
    332     
    333     
    334     /**
    335      * 字符口串是否在数据组存在
    336      * @param addrls
    337      * @param addrs
    338      * @return
    339      */
    340     private static boolean isExsit(String[] addrls,String addrs){
    341         if(addrls!=null && addrls.length>0){
    342             for(int i=0;i<addrls.length;i++){
    343                 if(addrls[i].equals(addrs)){
    344                     return true;
    345                 }
    346             }
    347         }
    348         return false;
    349     }
    350     /**
    351      * 把Map转换成String
    352      * @param addrMap
    353      * @return
    354      */
    355     public static String convMap2String(Map addrMap){
    356         StringBuilder tempBuf =new StringBuilder();
    357         Iterator<Map.Entry> it = addrMap.entrySet().iterator();  
    358         while (it.hasNext()) {
    359             Map.Entry<String, String> entry = it.next();
    360             String fldName = entry.getKey();
    361             String fldValue = entry.getValue();
    362             tempBuf.append(fldValue).append("(").append(fldName).append(");");
    363         }
    364         return tempBuf.toString();
    365     }
    366 
    367     //字节转换
    368     public static String formetFileSize(long fileS) {
    369 
    370         DecimalFormat df = new DecimalFormat("#.00");
    371         String fileSizeString = "";
    372         if (fileS < 1024) {
    373             fileSizeString = df.format((long) fileS) + "B";
    374         } else if (fileS < 1048576) {
    375             fileSizeString = df.format((long) fileS / 1024) + "KB";
    376         } else if (fileS < 1073741824) {
    377             fileSizeString = df.format((long) fileS / 1048576) + "MB";
    378         } else if(fileS < 1099511627776l) {
    379             fileSizeString = df.format((long) fileS / 1073741824) + "GB";
    380         } else{
    381             fileSizeString = df.format((long) fileS / 1099511627776l) + "TB";
    382         }
    383             return fileSizeString;
    384         }
    385     
    386     public static void main(String[] args) {
    387         
    388         long a = 1948065583104l;
    389         System.out.println(formetFileSize(a));
    390     }
    391 
    392 }
  • 相关阅读:
    Swool的安装与使用
    Laravel策略(Policy)示例
    Laravel 查询&数据库&模型
    Laravel模板事项
    Laravel验证问题记录
    每日一练:排序题:一大一小,依次类推题
    java 保留小数点后N位数(若干位),几种实现的方式总结
    java 计算器SWT/RAP(版本3)键盘鼠标兼容
    java SWT/Rap 计算器版本2(键盘鼠标兼容)
    键盘按钮keyCode大全
  • 原文地址:https://www.cnblogs.com/xuyou551/p/8028322.html
Copyright © 2011-2022 走看看