常用java字符串操作函数

/**
  002    * 分割字符串
  003    *
  004    * @param str String 原始字符串
  005    * @param splitsign String 分隔符
  006    * @return String[] 分割后的字符串数组
  007    */
  008 @SuppressWarnings("unchecked")
  009 public static String[] split(String str, String splitsign) {
  010     int index;
  011     if (str == null || splitsign == null)
  012       return null;
  013     ArrayList al = new ArrayList();
  014     while ((index = str.indexOf(splitsign)) != -1) {
  015       al.add(str.substring(0, index));
  016       str = str.substring(index + splitsign.length());
  017     }
  018     al.add(str);
  019     return (String[]) al.toArray(new String[0]);
  020 }
  021
  022 /**
  023    * 替换字符串
  024    *
  025    * @param from String 原始字符串
  026    * @param to String 目标字符串
  027    * @param source String 母字符串
  028    * @return String 替换后的字符串
  029    */
  030 public static String replace(String from, String to, String source) {
  031     if (source == null || from == null || to == null)
  032       return null;
  033     StringBuffer bf = new StringBuffer("");
  034     int index = -1;
  035     while ((index = source.indexOf(from)) != -1) {
  036       bf.append(source.substring(0, index) + to);
  037       source = source.substring(index + from.length());
  038       index = source.indexOf(from);
  039     }
  040     bf.append(source);
  041     return bf.toString();
  042 }
  043
  044 /**
  045    * 替换字符串,能能够在HTML页面上直接显示(替换双引号和小于号)
  046    *
  047    * @param str String 原始字符串
  048    * @return String 替换后的字符串
  049    */
  050 public static String htmlencode(String str) {
  051     if (str == null) {
  052       return null;
  053     }
  054
  055     return replace("\"", """, replace("<", "<", str));
  056 }
  057
  058 /**
  059    * 替换字符串,将被编码的转换成原始码(替换成双引号和小于号)
  060    *
  061    * @param str String
  062    * @return String
  063    */
  064 public static String htmldecode(String str) {
  065     if (str == null) {
  066       return null;
  067     }
  068
  069     return replace(""", "\"", replace("<", "<", str));
  070 }
  071
  072 private static final String _BR = "<br/>";
  073
  074 /**
  075    * 在页面上直接显示文本内容,替换小于号,空格,回车,TAB
  076    *
  077    * @param str String 原始字符串
  078    * @return String 替换后的字符串
  079    */
  080 public static String htmlshow(String str) {
  081     if (str == null) {
  082       return null;
  083     }
  084
  085     str = replace("<", "<", str);
  086     str = replace(" ", " ", str);
  087     str = replace("\r\n", _BR, str);
  088     str = replace("\n", _BR, str);
  089     str = replace("\t", "    ", str);
  090     return str;
  091 }
  092
  093 /**
  094    * 返回指定字节长度的字符串
  095    *
  096    * @param str String 字符串
  097    * @param length int 指定长度
  098    * @return String 返回的字符串
  099    */
  100 public static String toLength(String str, int length) {
  101     if (str == null) {
  102       return null;
  103     }
  104     if (length <= 0) {
  105       return "";
  106     }
  107     try {
  108       if (str.getBytes("GBK").length <= length) {
  109         return str;
  110       }
  111     } catch (Exception ex) {
  112     }
  113     StringBuffer buff = new StringBuffer();
  114
  115     int index = 0;
  116     char c;
  117     length -= 3;
  118     while (length > 0) {
  119       c = str.charAt(index);
  120       if (c < 128) {
  121         length--;
  122       } else {
  123         length--;
  124         length--;
  125       }
  126       buff.append(c);
  127       index++;
  128     }
  129     buff.append("...");
  130     return buff.toString();
  131 }
  132
  133 /**
  134    * 判断是否为整数
  135    *
  136    * @param str 传入的字符串
  137    * @return 是整数返回true,否则返回false
  138    */
  139 public static boolean isInteger(String str) {
  140     Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
  141     return pattern.matcher(str).matches();
  142 }
  143
  144 /**
  145    * 判断是否为浮点数,包括double和float
  146    *
  147    * @param str 传入的字符串
  148    * @return 是浮点数返回true,否则返回false
  149    */
  150 public static boolean isDouble(String str) {
  151     Pattern pattern = Pattern.compile("^[-\\+]?[.\\d]*$");
  152     return pattern.matcher(str).matches();
  153 }
  154
  155 /**
  156    * 判断输入的字符串是否符合样式.
  157    *
  158    * @param str 传入的字符串
  159    * @return 是样式返回true,否则返回false
  160    */
  161 public static boolean is(String str) {
  162     Pattern pattern = Pattern.compile("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
  163     return pattern.matcher(str).matches();
  164 }
  165
  166 /**
  167    * 判断输入的字符串是否为纯汉字
  168    *
  169    * @param str 传入的字符窜
  170    * @return 如果是纯汉字返回true,否则返回false
  171    */
  172 public static boolean isChinese(String str) {
  173     Pattern pattern = Pattern.compile("[\u0391-\uFFE5]+$");
  174     return pattern.matcher(str).matches();
  175 }
  176
  177 /**
  178    * 是否为空白,包括null和""
  179    *
  180    * @param str
  181    * @return
  182    */
  183 public static boolean isBlank(String str) {
  184     return str == null || str.trim().length() == 0;
  185 }
  186
  187 /**
  188 * 判断是不是合法手机
  189 * handset 手机号码
  190 */
  191 public static boolean isHandset(String handset) {
  192 try {
  193    if(!handset.substring(0,1).equals("1")) {
  194     return false;
  195    }
  196    if (handset==null || handset.length()!=11) {
  197     return false;
  198    }
  199    String check = "^[0123456789]+$";
  200    Pattern regex = Pattern.compile(check);
  201    Matcher matcher = regex.matcher(handset);
  202    boolean isMatched = matcher.matches();
  203    if(isMatched) {
  204     return true;
  205    } else {
  206     return false;
  207    }
  208 } catch (RuntimeException e) {
  209    return false;
  210 }
  211 }

  212 }

本文转载自:http://www.189works.com/article-5533-1.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值