@@ -25,6 +25,7 @@ public class SplitUtil {
/**
* 切分字符串路径, 仅支持Unix分界符: /
* <p>去除每个元素两边空格,大小写敏感,忽略空串</p>
*
* @param str 被切分的字符串
* @return 切分后的集合
@@ -36,6 +37,7 @@ public class SplitUtil {
/**
* 切分字符串路径, 仅支持Unix分界符: /
* <p>去除每个元素两边空格,大小写敏感,忽略空串</p>
*
* @param str 被切分的字符串
* @return 切分后的集合
@@ -47,9 +49,10 @@ public class SplitUtil {
/**
* 切分字符串路径, 仅支持Unix分界符: /
* <p>去除每个元素两边空格,大小写敏感,忽略空串</p>
*
* @param str 被切分的字符串
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @return 切分后的集合
* @since 3.0.8
*/
@@ -59,9 +62,10 @@ public class SplitUtil {
/**
* 切分字符串路径, 仅支持Unix分界符: /
* <p>去除每个元素两边空格,大小写敏感,忽略空串</p>
*
* @param str 被切分的字符串
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @return 切分后的集合
* @since 3.0.8
*/
@@ -70,7 +74,7 @@ public class SplitUtil {
}
/**
* 切分字符串
* 切分字符串,大小写敏感,去除每个元素两边空白符
*
* @param str 被切分的字符串
* @param separator 分隔符字符
@@ -101,7 +105,7 @@ public class SplitUtil {
*
* @param str 被切分的字符串
* @param separator 分隔符字符
* @param limit 限制分片数,-1不 限制
* @param limit 限制分片数,小于等于0表示无 限制
* @param ignoreEmpty 是否忽略空串
* @return 切分后的集合
* @since 3.0.8
@@ -115,7 +119,7 @@ public class SplitUtil {
*
* @param str 被切分的字符串
* @param separator 分隔符字符
* @param limit 限制分片数,-1不 限制
* @param limit 限制分片数,小于等于0表示无 限制
* @param isTrim 是否去除切分字符串后每个元素两边的空格
* @param ignoreEmpty 是否忽略空串
* @return 切分后的集合
@@ -131,7 +135,7 @@ public class SplitUtil {
* @param <R> 切分后的元素类型
* @param str 被切分的字符串
* @param separator 分隔符字符
* @param limit 限制分片数,-1不 限制
* @param limit 限制分片数,小于等于0表示无 限制
* @param ignoreEmpty 是否忽略空串
* @param mapping 切分后的字符串元素的转换方法
* @return 切分后的集合,元素类型是经过 mapping 转换后的
@@ -146,7 +150,7 @@ public class SplitUtil {
*
* @param text 被切分的字符串
* @param separator 分隔符字符
* @param limit 限制分片数,-1不 限制
* @param limit 限制分片数,小于等于0表示无 限制
* @param isTrim 是否去除切分字符串后每个元素两边的空格
* @param ignoreEmpty 是否忽略空串
* @return 切分后的集合
@@ -161,7 +165,7 @@ public class SplitUtil {
*
* @param text 被切分的字符串
* @param separator 分隔符字符
* @param limit 限制分片数,-1不 限制
* @param limit 限制分片数,小于等于0表示无 限制
* @param isTrim 是否去除切分字符串后每个元素两边的空格
* @param ignoreEmpty 是否忽略空串
* @param ignoreCase 是否忽略大小写
@@ -178,7 +182,7 @@ public class SplitUtil {
* @param <R> 切分后的元素类型
* @param text 被切分的字符串
* @param separator 分隔符字符
* @param limit 限制分片数,-1不 限制
* @param limit 限制分片数,小于等于0表示无 限制
* @param ignoreEmpty 是否忽略空串
* @param ignoreCase 是否忽略大小写
* @param mapping 切分后的字符串元素的转换方法
@@ -187,7 +191,7 @@ public class SplitUtil {
*/
public static < R > List < R > split ( final CharSequence text , final char separator , final int limit , final boolean ignoreEmpty ,
final boolean ignoreCase , final Function < String , R > mapping ) {
if ( null = = text ) {
if ( StrUtil . isEmpty ( text ) ) {
return new ArrayList < > ( 0 ) ;
}
final SplitIter splitIter = new SplitIter ( text , new CharFinder ( separator , ignoreCase ) , limit , ignoreEmpty ) ;
@@ -199,7 +203,7 @@ public class SplitUtil {
*
* @param str 被切分的字符串
* @param separator 分隔符字符
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @param isTrim 是否去除切分字符串后每个元素两边的空格
* @param ignoreEmpty 是否忽略空串
* @return 切分后的集合
@@ -226,7 +230,7 @@ public class SplitUtil {
}
/**
* 切分字符串,去除每个元素两边空格,忽略大小写
* 切分字符串,去除每个元素两边空格,不 忽略大小写
*
* @param str 被切分的字符串
* @param separator 分隔符字符串
@@ -254,11 +258,11 @@ public class SplitUtil {
}
/**
* 切分字符串,去除每个元素两边空格,忽略大小写
* 切分字符串,去除每个元素两边空格,不 忽略大小写
*
* @param str 被切分的字符串
* @param separator 分隔符字符串
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @param ignoreEmpty 是否忽略空串
* @return 切分后的集合
* @since 3.2.1
@@ -272,7 +276,7 @@ public class SplitUtil {
*
* @param str 被切分的字符串
* @param separator 分隔符字符串
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @param isTrim 是否去除切分字符串后每个元素两边的空格
* @param ignoreEmpty 是否忽略空串
* @return 切分后的集合
@@ -287,7 +291,7 @@ public class SplitUtil {
*
* @param str 被切分的字符串
* @param separator 分隔符字符串
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @param ignoreEmpty 是否忽略空串
* @return 切分后的集合
* @since 3.2.1
@@ -310,7 +314,7 @@ public class SplitUtil {
* @since 3.2.1
*/
public static List < String > split ( final CharSequence text , final String separator , final int limit , final boolean isTrim , final boolean ignoreEmpty , final boolean ignoreCase ) {
if ( null = = text ) {
if ( StrUtil . isEmpty ( text ) ) {
return new ArrayList < > ( 0 ) ;
}
final SplitIter splitIter = new SplitIter ( text , new StrFinder ( separator , ignoreCase ) , limit , ignoreEmpty ) ;
@@ -340,12 +344,12 @@ public class SplitUtil {
* 如果为空字符串或者null 则返回空集合
*
* @param text 被切分的字符串
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @return 切分后的集合
* @since 3.0.8
*/
public static List < String > split ( final CharSequence text , final int limit ) {
if ( null = = text ) {
if ( StrUtil . isBlank ( text ) ) {
return new ArrayList < > ( 0 ) ;
}
final SplitIter splitIter = new SplitIter ( text , new CharMatcherFinder ( CharUtil : : isBlankChar ) , limit , true ) ;
@@ -356,11 +360,11 @@ public class SplitUtil {
* 切分字符串为字符串数组
*
* @param str 被切分的字符串
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @return 切分后的集合
* @since 3.0.8
*/
public static String [ ] splitToArray ( final String str , final int limit ) {
public static String [ ] splitToArray ( final CharSequence str , final int limit ) {
return toArray ( split ( str , limit ) ) ;
}
//---------------------------------------------------------------------------------------------- Split by regex
@@ -370,13 +374,13 @@ public class SplitUtil {
*
* @param text 字符串
* @param separatorRegex 分隔符正则
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @param isTrim 是否去除切分字符串后每个元素两边的空格
* @param ignoreEmpty 是否忽略空串
* @return 切分后的集合
* @since 3.0.8
*/
public static List < String > splitByRegex ( final String text , final String separatorRegex , final int limit , final boolean isTrim , final boolean ignoreEmpty ) {
public static List < String > splitByRegex ( final CharSequence text , final String separatorRegex , final int limit , final boolean isTrim , final boolean ignoreEmpty ) {
final Pattern pattern = PatternPool . get ( separatorRegex ) ;
return split ( text , pattern , limit , isTrim , ignoreEmpty ) ;
}
@@ -387,14 +391,14 @@ public class SplitUtil {
*
* @param text 字符串
* @param separatorPattern 分隔符正则{@link Pattern}
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @param isTrim 是否去除切分字符串后每个元素两边的空格
* @param ignoreEmpty 是否忽略空串
* @return 切分后的集合
* @since 3.0.8
*/
public static List < String > split ( final String text , final Pattern separatorPattern , final int limit , final boolean isTrim , final boolean ignoreEmpty ) {
if ( null = = text ) {
public static List < String > split ( final CharSequence text , final Pattern separatorPattern , final int limit , final boolean isTrim , final boolean ignoreEmpty ) {
if ( StrUtil . isEmpty ( text ) ) {
return new ArrayList < > ( 0 ) ;
}
final SplitIter splitIter = new SplitIter ( text , new PatternFinder ( separatorPattern ) , limit , ignoreEmpty ) ;
@@ -406,13 +410,13 @@ public class SplitUtil {
*
* @param str 被切分的字符串
* @param separatorPattern 分隔符正则{@link Pattern}
* @param limit 限制分片数
* @param limit 限制分片数, 小于等于0表示无限制
* @param isTrim 是否去除切分字符串后每个元素两边的空格
* @param ignoreEmpty 是否忽略空串
* @return 切分后的集合
* @since 3.0.8
*/
public static String [ ] splitToArray ( final String str , final Pattern separatorPattern , final int limit , final boolean isTrim , final boolean ignoreEmpty ) {
public static String [ ] splitToArray ( final CharSequence str , final Pattern separatorPattern , final int limit , final boolean isTrim , final boolean ignoreEmpty ) {
return toArray ( split ( str , separatorPattern , limit , isTrim , ignoreEmpty ) ) ;
}
//---------------------------------------------------------------------------------------------- Split by length
@@ -421,11 +425,11 @@ public class SplitUtil {
* 根据给定长度,将给定字符串截取为多个部分
*
* @param text 字符串
* @param len 每一个小节的长度
* @param len 每一个小节的长度, 必须大于0
* @return 截取后的字符串数组
*/
public static String [ ] splitByLength ( final CharSequence text , final int len ) {
if ( null = = text ) {
if ( StrUtil . isEmpty ( text ) ) {
return new String [ 0 ] ;
}
final SplitIter splitIter = new SplitIter ( text , new LengthFinder ( len ) , - 1 , false ) ;
@@ -449,8 +453,8 @@ public class SplitUtil {
* @param isTrim 是否trim
* @return {@link Function}
*/
private static Function < String , String > trimFunc ( final boolean isTrim ) {
return ( str ) - > isTrim ? StrUtil . trim ( s tr) : str ;
public static Function < String , String > trimFunc ( final boolean isTrim ) {
return isTrim ? StrUtil : : trim : Function . identity ( ) ;
}
//---------------------------------------------------------------------------------------------------------- Private method end
}