Java常用工具类

 

 

import java.io.UnsupportedEncodingException;

/**
 * 字符串工具类
 * 
 * @author 尘世间迷茫的小书童
 *
 */
public class StringUtils {

    /** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */
    public static final String US_ASCII = "US-ASCII";

    /** ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1 */
    public static final String ISO_8859_1 = "ISO-8859-1";

    /** 8 位 UCS 转换格式 */
    public static final String UTF_8 = "UTF-8";

    /** 16 位 UCS 转换格式,Big Endian(最低地址存放高位字节)字节顺序 */
    public static final String UTF_16BE = "UTF-16BE";

    /** 16 位 UCS 转换格式,Little-endian(最高地址存放低位字节)字节顺序 */
    public static final String UTF_16LE = "UTF-16LE";

    /** 16 位 UCS 转换格式,字节顺序由可选的字节顺序标记来标识 */
    public static final String UTF_16 = "UTF-16";

    /** 中文超大字符集 */
    public static final String GBK = "GBK";

    /**
     * 判断字符串是否为空
     * 
     * @param str
     * @return 为空返回true
     */
    public static boolean isEmpty(String str) {
        return null == str && str.length() == 0;
    }

    /**
     * 判断字符串是否不为空
     * 
     * @param str
     * @return 不为空返回true
     */
    public static boolean isNotEmpty(String str) {
        return null != str && str.length() > 0;
    }

    /**
     * 去掉字符串两头的空字符,str为空返回null
     * 
     * @param str
     * @return
     */
    public static String trim(String str) {
        if (isEmpty(str))
            return null;
        return str.trim();
    }

    /**
     * 替换字符串
     * 
     * @param str
     * @param oldChar
     * @param newChar
     * @return
     */
    public static String replace(String str, String oldChar, String newChar) {
        return str.replace(oldChar, newChar);
    }

    /**
     * 可以替换大部分空白字符, 不限于空格
     * 
     * @param str
     * @return
     */
    public static String replace(String str) {
        return str.replaceAll("\\s*", "");
    }

    /**
     * 根据start和end范围用newStr覆盖str
     * 
     * @param str
     * @param newStr
     * @param start
     * @param end
     * @return
     */
    public static String overlay(String str, String newStr, int start, int end) {
        char[] charArray = str.toCharArray();
        char[] startArray = new char[start];
        int length = charArray.length - end - 1;
        char[] endArray = new char[length];
        for (int i = 0; i < start; i++) {
            startArray[i] = charArray[i];
        }
        for (int i = 0; i < length; i++) {
            end++;
            endArray[i] = charArray[end];
        }
        return String.valueOf(startArray) + newStr + String.valueOf(endArray);
    }

    /**
     * 如果str中是以start开头,则删除开头,否者返回原字符串
     * 
     * @param str
     * @param start
     * @return
     */
    public static String removeStart(String str, String start) {
        int startIndex = str.indexOf(start);
        if (startIndex == 0)
            return overlay(str, "", 0, startIndex + 1);
        return str;
    }

    /**
     * 如果str中是以end结尾,则删除结尾,否者返回原字符串
     * 
     * @param str
     * @param end
     * @return
     */
    public static String removeEnd(String str, String end) {
        int endIndex = str.lastIndexOf(end);
        if (endIndex == str.length() - end.length())
            return overlay(str, "", endIndex, str.length() - 1);
        return str;
    }

    /**
     * 删除str中所有空白字符
     * 
     * @param str
     * @return
     */
    public static String deleteWhitespace(String str) {
        return str.replace(" ", "");
    }

    /**
     * 计算str1在str中出现次数
     * 
     * @param str
     * @param str1
     * @return
     */
    public static int countStr(String str, String str1) {
        if (isEmpty(str) || isEmpty(str1))
            return 0;
        int count = 0;
        int position = 0;
        int index;
        while ((index = str.indexOf(str1, position)) != -1) {
            ++count;
            position = index + str1.length();
        }
        return count;
    }

    /**
     * 反转字符串
     * 
     * @param str
     * @return
     */
    public static String reverseStr1(String str) {
        return new StringBuilder(str).reverse().toString();
    }

    /**
     * 反转字符串
     * 
     * @param str
     * @return
     */
    public static String reverseStr2(String str) {
        char[] chars = str.toCharArray();
        String reverse = "";
        for (int i = chars.length - 1; i >= 0; i--) {
            reverse += chars[i];
        }
        return reverse;
    }

    /**
     * 反转字符串
     * 
     * @param str
     * @return
     */
    public static String reverseStr3(String str) {
        String reverse = "";
        int length = str.length();
        for (int i = 0; i < length; i++) {
            reverse = str.charAt(i) + reverse;
        }
        return reverse;
    }

    /**
     * 根据sub拆分str为数组,使用. |分割时需要加\\
     * 
     * @param str
     * @param sub
     * @return
     */
    public static String[] split(String str, String sub) {
        return str.split(sub);
    }

    /**
     * 字符转String
     * 
     * @param c
     * @return
     */
    public static String charToString(char c) {
        return String.valueOf(c);
    }

    /**
     * 字符数组转String
     * 
     * @param c
     * @return
     */
    public static String charArrayToString(char[] c) {
        return String.valueOf(c);
    }

    /**
     * 字符数组转String
     * 
     * @param c
     * @param start
     * @param end
     * @return
     */
    public static String charArrayToString(char[] c, int start, int end) {
        return String.valueOf(c, start, end);
    }

    /**
     * String数组转String
     * 
     * @param strs
     * @return
     */
    public static String strArrayToStr(String[] strs) {
        StringBuffer buffer = new StringBuffer();
        for (int i = 0; i < strs.length; i++) {
            buffer.append(strs[i]);
        }
        return buffer.toString();
    }

    /**
     * 转换字符串编码格式
     * 
     * @param str
     * @param oldCharset
     * @param newCharset
     * @return
     * @throws UnsupportedEncodingException
     */
    public static String changeCharset(String str, String oldCharset, String newCharset)
            throws UnsupportedEncodingException {
        return new String(str.getBytes(oldCharset), newCharset);
    }

    /**
     * 转换字符串编码格式
     * 
     * @param str
     * @param newCharset
     * @return
     * @throws UnsupportedEncodingException
     */
    public static String changeCharset(String str, String newCharset) throws UnsupportedEncodingException {
        return new String(str.getBytes(), newCharset);
    }

    /**
     * 将字符编码转换成US-ASCII码
     */
    public String toASCII(String str) throws UnsupportedEncodingException {
        return changeCharset(str, US_ASCII);
    }

    /**
     * 将字符编码转换成ISO-8859-1码
     */
    public String toISO_8859_1(String str) throws UnsupportedEncodingException {
        return changeCharset(str, ISO_8859_1);
    }

    /**
     * 将字符编码转换成UTF-8码
     */
    public String toUTF_8(String str) throws UnsupportedEncodingException {
        return changeCharset(str, UTF_8);
    }

    /**
     * 将字符编码转换成UTF-16BE码
     */
    public String toUTF_16BE(String str) throws UnsupportedEncodingException {
        return changeCharset(str, UTF_16BE);
    }

    /**
     * 将字符编码转换成UTF-16LE码
     */
    public String toUTF_16LE(String str) throws UnsupportedEncodingException {
        return changeCharset(str, UTF_16LE);
    }

    /**
     * 将字符编码转换成UTF-16码
     */
    public String toUTF_16(String str) throws UnsupportedEncodingException {
        return changeCharset(str, UTF_16);
    }

    /**
     * 将字符编码转换成GBK码
     */
    public String toGBK(String str) throws UnsupportedEncodingException {
        return changeCharset(str, GBK);
    }

    public static void main(String[] args) {

        // String replace = replace("maxinhai", "ma", "li");
        // System.out.println(replace);

        // String overlay = overlay("maxinhai", "li", 0, 4);
        // System.out.println(overlay);

        // String removeSatrt = removeStart("maxinhai", "ma");
        // System.out.println(removeSatrt);

        // String removeEnd = removeEnd("maxinhai", "hai");
        // System.out.println(removeEnd);

        // String deleteWhitespace = deleteWhitespace(" ma xin hai ");
        // System.out.println(deleteWhitespace);

        // String replace = replace(" ma xin hai\t ");
        // System.out.println(replace);

        // int countStr = countStr("121121212121211212", "1");
        // System.out.println(countStr);

    }

}

 

各种个工具类。。。

总结以后,方便copy

posted @ 2019-08-22 17:35  尘世间迷茫的小书童  阅读(140)  评论(0编辑  收藏  举报