RuoYi
2024-05-29 91cac71760115555a8b7474d10a88a10c8b82f0e
src/main/java/com/ruoyi/common/utils/StringUtils.java
@@ -23,6 +23,9 @@
    /** 下划线 */
    private static final char SEPARATOR = '_';
    /** 星号 */
    private static final char ASTERISK = '*';
    /**
     * 获取参数不为空值
     * 
@@ -164,6 +167,49 @@
    }
    /**
     * 替换指定字符串的指定区间内字符为"*"
     *
     * @param str 字符串
     * @param startInclude 开始位置(包含)
     * @param endExclude 结束位置(不包含)
     * @return 替换后的字符串
     */
    public static String hide(CharSequence str, int startInclude, int endExclude)
    {
        if (isEmpty(str))
        {
            return NULLSTR;
        }
        final int strLength = str.length();
        if (startInclude > strLength)
        {
            return NULLSTR;
        }
        if (endExclude > strLength)
        {
            endExclude = strLength;
        }
        if (startInclude > endExclude)
        {
            // 如果起始位置大于结束位置,不替换
            return NULLSTR;
        }
        final char[] chars = new char[strLength];
        for (int i = 0; i < strLength; i++)
        {
            if (i >= startInclude && i < endExclude)
            {
                chars[i] = ASTERISK;
            }
            else
            {
                chars[i] = str.charAt(i);
            }
        }
        return new String(chars);
    }
    /**
     * 截取字符串
     * 
     * @param str 字符串