常用字符串处理工具

来源:互联网 发布:usda数据 编辑:程序博客网 时间:2024/05/01 22:50

1、字符串判断

    /**     * 检查字符串是否是空白     * StringUtil.isBlank(null)      = true     * StringUtil.isBlank("")        = true     * StringUtil.isBlank(" ")       = true     * StringUtil.isBlank("bob")     = false     * StringUtil.isBlank("  bob  ") = false     *     * @param str 要检查的字符串     *     * @return 如果为空白, 则返回true     */    public static boolean isBlank(String str) {        int length;        if ((str == null) || ((length = str.length()) == 0)) {            return true;        }        for (int i = 0; i < length; i++) {            if (!Character.isWhitespace(str.charAt(i))) {                return false;            }        }        return true;    }    /**     * 检查字符串是否不是空白     * StringUtil.isBlank(null)      = false     * StringUtil.isBlank("")        = false     * StringUtil.isBlank(" ")       = false     * StringUtil.isBlank("bob")     = true     * StringUtil.isBlank("  bob  ") = true     *     * @param str 要检查的字符串     *     * @return 如果为空白, 则返回true     */    public static boolean isNotBlank(String str) {        int length;        if ((str == null) || ((length = str.length()) == 0)) {            return false;        }        for (int i = 0; i < length; i++) {            if (!Character.isWhitespace(str.charAt(i))) {                return true;            }        }        return false;    }/**     * 判断字符串是否只包含unicode数字     *      * <red>     * null返回false,空字符串""将返回true。     * </red>      * StringUtil.isNumeric(null)   = false     * StringUtil.isNumeric("")     = true     * StringUtil.isNumeric("  ")   = false     * StringUtil.isNumeric("123")  = true     * StringUtil.isNumeric("12 3") = false     * StringUtil.isNumeric("ab2c") = false     * StringUtil.isNumeric("12-3") = false     * StringUtil.isNumeric("12.3") = false     *     * @param str 要检查的字符串     *     * @return 如果字符串非null并且全由unicode数字组成,则返回true     */    public static boolean isNumeric(String str) {        if (str == null) {            return false;        }        int length = str.length();        for (int i = 0; i < length; i++) {            if (!Character.isDigit(str.charAt(i))) {                return false;            }        }        return true;    }

2、字符串比较

    /**     * 比较两个字符串(大小写敏感)     * StringUtil.equals(null, null)   = true     * StringUtil.equals(null, "abc")  = false     * StringUtil.equals("abc", null)  = false     * StringUtil.equals("abc", "abc") = true     * StringUtil.equals("abc", "ABC") = false     *     * @param str1 要比较的字符串1     * @param str2 要比较的字符串2     *     * @return 如果两个字符串相同,或者都是null,则返回true     */    public static boolean equals(String str1, String str2) {        if (str1 == null) {            return str2 == null;        }        return str1.equals(str2);    }    /**     * 比较两个字符串(大小写不敏感)     * StringUtil.equalsIgnoreCase(null, null)   = true     * StringUtil.equalsIgnoreCase(null, "abc")  = false     * StringUtil.equalsIgnoreCase("abc", null)  = false     * StringUtil.equalsIgnoreCase("abc", "abc") = true     * StringUtil.equalsIgnoreCase("abc", "ABC") = true     *     * @param str1 要比较的字符串1     * @param str2 要比较的字符串2     *     * @return 如果两个字符串相同,或者都是null,则返回true     */    public static boolean equalsIgnoreCase(String str1, String str2) {        if (str1 == null) {            return str2 == null;        }        return str1.equalsIgnoreCase(str2);    }

3、字符串截取

    /**     * 取指定字符串的子串。     *      * 负的索引代表从尾部开始计算。如果字符串为null,则返回null     *      * StringUtil.substring(null, *)   = null     * StringUtil.substring("", *)     = ""     * StringUtil.substring("abc", 0)  = "abc"     * StringUtil.substring("abc", 2)  = "c"     * StringUtil.substring("abc", 4)  = ""     * StringUtil.substring("abc", -2) = "bc"     * StringUtil.substring("abc", -4) = "abc"     *     * @param str 字符串     * @param start 起始索引,如果为负数,表示从尾部查找     *     * @return 子串,如果原始串为null,则返回null     */    public static String substring(String str, int start) {        if (str == null) {            return null;        }        if (start < 0) {            start = str.length() + start;        }        if (start < 0) {            start = 0;        }        if (start > str.length()) {            return "";        }        return str.substring(start);    }    /**     * 取指定字符串的子串。     *      * 负的索引代表从尾部开始计算。如果字符串为null,则返回null     *      * StringUtil.substring(null, *, *)    = null     * StringUtil.substring("", * ,  *)    = "";     * StringUtil.substring("abc", 0, 2)   = "ab"     * StringUtil.substring("abc", 2, 0)   = ""     * StringUtil.substring("abc", 2, 4)   = "c"     * StringUtil.substring("abc", 4, 6)   = ""     * StringUtil.substring("abc", 2, 2)   = ""     * StringUtil.substring("abc", -2, -1) = "b"     * StringUtil.substring("abc", -4, 2)  = "ab"     *      * @param str 字符串     * @param start 起始索引,如果为负数,表示从尾部计算     * @param end 结束索引(不含),如果为负数,表示从尾部计算     *     * @return 子串,如果原始串为null,则返回null     */    public static String substring(String str, int start, int end) {        if (str == null) {            return null;        }        if (end < 0) {            end = str.length() + end;        }        if (start < 0) {            start = str.length() + start;        }        if (end > str.length()) {            end = str.length();        }        if (start > end) {            return "";        }        if (start < 0) {            start = 0;        }        if (end < 0) {            end = 0;        }        return str.substring(start, end);    }


0 0
原创粉丝点击