Skip to content

Commit 506a8c2

Browse files
committed
fix bug
1 parent 38dd205 commit 506a8c2

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
* 【core 】 修复split空判断不一致问题(pr#496@Gitee)
2626
* 【crypto 】 修复SM2.getDHex()前导0丢失,然后导致获取密钥错误(pr#2073@Github)
2727
* 【core 】 修复关于Calculator.conversion()方法EmptyStackException的bug(pr#2076@Github)
28+
* 【core 】 修复StrUtil.subBetweenAll循环bug(issue#I4PT3M@Gitee)
2829

2930
-------------------------------------------------------------------------------------------------------------
3031
# 5.7.18 (2021-12-25)

hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2336,7 +2336,9 @@ public static String[] subBetweenAll(CharSequence str, CharSequence prefix, Char
23362336
}
23372337
} else {
23382338
int suffixIndex;
2339-
for (String fragment : split) {
2339+
String fragment;
2340+
for (int i = 1; i < split.length; i++) {
2341+
fragment = split[i];
23402342
suffixIndex = fragment.indexOf(suffix.toString());
23412343
if (suffixIndex > 0) {
23422344
result.add(fragment.substring(0, suffixIndex));

hutool-core/src/test/java/cn/hutool/core/util/StrUtilTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,14 @@ public void subBetweenAllTest3() {
521521
Assert.assertEquals("abc", strings[0]);
522522
}
523523

524+
@Test
525+
public void subBetweenAllTest4() {
526+
String str = "你好:1388681xxxx用户已开通,1877275xxxx用户已开通,无法发送业务开通短信";
527+
String[] strings = StrUtil.subBetweenAll(str, "1877275xxxx", ",");
528+
Assert.assertEquals(1, strings.length);
529+
Assert.assertEquals("用户已开通", strings[0]);
530+
}
531+
524532
@Test
525533
public void briefTest() {
526534
// case: 1 至 str.length - 1

0 commit comments

Comments
 (0)