| | |
| | | /** 下划线 */
|
| | | private static final char SEPARATOR = '_';
|
| | |
|
| | | /** 星号 */
|
| | | private static final char ASTERISK = '*';
|
| | |
|
| | | /**
|
| | | * 获取参数不为空值
|
| | | *
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 替换指定字符串的指定区间内字符为"*"
|
| | | *
|
| | | * @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 字符串
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 在字符串中查找第一个出现的 `open` 和最后一个出现的 `close` 之间的子字符串
|
| | | * |
| | | * @param str 要截取的字符串
|
| | | * @param open 起始字符串
|
| | | * @param close 结束字符串
|
| | | * @return 截取结果
|
| | | */
|
| | | public static String substringBetweenLast(final String str, final String open, final String close)
|
| | | {
|
| | | if (isEmpty(str) || isEmpty(open) || isEmpty(close))
|
| | | {
|
| | | return NULLSTR;
|
| | | }
|
| | | final int start = str.indexOf(open);
|
| | | if (start != INDEX_NOT_FOUND)
|
| | | {
|
| | | final int end = str.lastIndexOf(close);
|
| | | if (end != INDEX_NOT_FOUND)
|
| | | {
|
| | | return str.substring(start + open.length(), end);
|
| | | }
|
| | | }
|
| | | return NULLSTR;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 判断是否为空,并且不是空白字符
|
| | | *
|
| | | * @param str 要判断的value
|
| | |
| | | *
|
| | | * @param str 字符串
|
| | | * @param sep 分隔符
|
| | | * @return list集合
|
| | | */
|
| | | public static final List<String> str2List(String str, String sep)
|
| | | {
|
| | | return str2List(str, sep, true, false);
|
| | | }
|
| | |
|
| | | /**
|
| | | * 字符串转list
|
| | | * |
| | | * @param str 字符串
|
| | | * @param sep 分隔符
|
| | | * @param filterBlank 过滤纯空白
|
| | | * @param trim 去掉首尾空白
|
| | | * @return list集合
|