diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/text/split/SplitUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/text/split/SplitUtil.java index 1768b6d69..97aa1343f 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/text/split/SplitUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/text/split/SplitUtil.java @@ -269,6 +269,12 @@ public class SplitUtil { * @since 3.0.8 */ public static List splitByRegex(final CharSequence str, final String separatorRegex, final int limit, final boolean isTrim, final boolean ignoreEmpty) { + if (StrUtil.isEmpty(str)) { + return ListUtil.zero(); + } + if(StrUtil.isEmpty(separatorRegex)){ + return ListUtil.of(str.toString()); + } final Pattern pattern = PatternPool.get(separatorRegex); return splitByRegex(str, pattern, limit, isTrim, ignoreEmpty); } @@ -289,6 +295,9 @@ public class SplitUtil { if (StrUtil.isEmpty(str)) { return ListUtil.zero(); } + if(null == separatorPattern){ + return ListUtil.of(str.toString()); + } final SplitIter splitIter = new SplitIter(str, new PatternFinder(separatorPattern), limit, ignoreEmpty); return splitIter.toList(isTrim); }