java常用字符串操作函数详解编程语言

/** 
   * 分割字符串 
   * 
   * @param str String 原始字符串 
   * @param splitsign String 分隔符 
   * @return String[] 分割后的字符串数组 
   */ 
@SuppressWarnings("unchecked") 
public static String[] split(String str, String splitsign) { 
    int index; 
    if (str == null || splitsign == null) 
      return null; 
    ArrayList al = new ArrayList(); 
    while ((index = str.indexOf(splitsign)) != -1) { 
      al.add(str.substring(0, index)); 
      str = str.substring(index + splitsign.length()); 
    } 
    al.add(str); 
    return (String[]) al.toArray(new String[0]); 
} 
 
/** 
   * 替换字符串 
   * 
   * @param from String 原始字符串 
   * @param to String 目标字符串 
   * @param source String 母字符串 
   * @return String 替换后的字符串 
   */ 
public static String replace(String from, String to, String source) { 
    if (source == null || from == null || to == null) 
      return null; 
    StringBuffer bf = new StringBuffer(""); 
    int index = -1; 
    while ((index = source.indexOf(from)) != -1) { 
      bf.append(source.substring(0, index) + to); 
      source = source.substring(index + from.length()); 
      index = source.indexOf(from); 
    } 
    bf.append(source); 
    return bf.toString(); 
} 
 
/** 
   * 替换字符串,能能够在HTML页面上直接显示(替换双引号和小于号) 
   * 
   * @param str String 原始字符串 
   * @return String 替换后的字符串 
   */ 
public static String htmlencode(String str) { 
    if (str == null) { 
      return null; 
    } 
 
    return replace("//"", """, replace("<", "<", str)); 
} 
 
/** 
   * 替换字符串,将被编码的转换成原始码(替换成双引号和小于号) 
   * 
   * @param str String 
   * @return String 
   */ 
public static String htmldecode(String str) { 
    if (str == null) { 
      return null; 
    } 
 
    return replace(""", "//"", replace("<", "<", str)); 
} 
 
private static final String _BR = "<br/>"; 
 
/** 
   * 在页面上直接显示文本内容,替换小于号,空格,回车,TAB 
   * 
   * @param str String 原始字符串 
   * @return String 替换后的字符串 
   */ 
public static String htmlshow(String str) { 
    if (str == null) { 
      return null; 
    } 
 
    str = replace("<", "<", str); 
    str = replace(" ", " ", str); 
    str = replace("//r//n", _BR, str); 
    str = replace("//n", _BR, str); 
    str = replace("//t", "    ", str); 
    return str; 
} 
 
/** 
   * 返回指定字节长度的字符串 
   * 
   * @param str String 字符串 
   * @param length int 指定长度 
   * @return String 返回的字符串 
   */ 
public static String toLength(String str, int length) { 
    if (str == null) { 
      return null; 
    } 
    if (length <= 0) { 
      return ""; 
    } 
    try { 
      if (str.getBytes("GBK").length <= length) { 
        return str; 
      } 
    } catch (Exception ex) { 
    } 
    StringBuffer buff = new StringBuffer(); 
 
    int index = 0; 
    char c; 
    length -= 3; 
    while (length > 0) { 
      c = str.charAt(index); 
      if (c < 128) { 
        length--; 
      } else { 
        length--; 
        length--; 
      } 
      buff.append(c); 
      index++; 
    } 
    buff.append("..."); 
    return buff.toString(); 
} 
 
/** 
   * 判断是否为整数 
   * 
   * @param str 传入的字符串 
   * @return 是整数返回true,否则返回false 
   */ 
public static boolean isInteger(String str) { 
    Pattern pattern = Pattern.compile("^[-////+]?[////d]*$"); 
    return pattern.matcher(str).matches(); 
} 
 
/** 
   * 判断是否为浮点数,包括double和float 
   * 
   * @param str 传入的字符串 
   * @return 是浮点数返回true,否则返回false 
   */ 
public static boolean isDouble(String str) { 
    Pattern pattern = Pattern.compile("^[-////+]?[.////d]*$"); 
    return pattern.matcher(str).matches(); 
} 
 
/** 
   * 判断输入的字符串是否符合Email样式. 
   * 
   * @param str 传入的字符串 
   * @return 是Email样式返回true,否则返回false 
   */ 
public static boolean isEmail(String str) { 
    Pattern pattern = Pattern.compile("^////w+([-+.]////w+)*@////w+([-.]////w+)*////.////w+([-.]////w+)*$"); 
    return pattern.matcher(str).matches(); 
} 
 
/** 
   * 判断输入的字符串是否为纯汉字 
   * 
   * @param str 传入的字符窜 
   * @return 如果是纯汉字返回true,否则返回false 
   */ 
public static boolean isChinese(String str) { 
    Pattern pattern = Pattern.compile("[//u0391-//uFFE5]+$"); 
    return pattern.matcher(str).matches(); 
} 
 
/** 
   * 是否为空白,包括null和"" 
   * 
   * @param str 
   * @return 
   */ 
public static boolean isBlank(String str) { 
    return str == null || str.trim().length() == 0; 
} 
 
/** 
* 判断是不是合法手机 
* handset 手机号码 
*/ 
public static boolean isHandset(String handset) { 
try { 
   if(!handset.substring(0,1).equals("1")) { 
    return false; 
   } 
   if (handset==null || handset.length()!=11) { 
    return false; 
   } 
   String check = "^[0123456789]+$"; 
   Pattern regex = Pattern.compile(check); 
   Matcher matcher = regex.matcher(handset); 
   boolean isMatched = matcher.matches(); 
   if(isMatched) { 
    return true; 
   } else { 
    return false; 
   } 
} catch (RuntimeException e) { 
   return false; 
} 
} 
}

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

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

相关推荐

发表回复

登录后才能评论