diff --git a/hutool-core/src/main/java/cn/hutool/core/net/multipart/UploadFile.java b/hutool-core/src/main/java/cn/hutool/core/net/multipart/UploadFile.java index 94eaa1ee0..09c00b822 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/multipart/UploadFile.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/multipart/UploadFile.java @@ -196,7 +196,7 @@ public class UploadFile { int memoryThreshold = setting.memoryThreshold; if (memoryThreshold > 0) { final ByteArrayOutputStream baos = new ByteArrayOutputStream(memoryThreshold); - int written = input.copy(baos, memoryThreshold); + final long written = input.copy(baos, memoryThreshold); data = baos.toByteArray(); if (written <= memoryThreshold) { // 文件存放于内存 diff --git a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java index bf147b94e..deeb71072 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java @@ -3604,7 +3604,13 @@ public class CharSequenceUtil { } /** - * 替换所有正则匹配的文本,并使用自定义函数决定如何替换 + * 替换所有正则匹配的文本,并使用自定义函数决定如何替换
+ * replaceFun可以通过{@link Matcher}提取出匹配到的内容的不同部分,然后经过重新处理、组装变成新的内容放回原位。 + * + *
+	 *     replaceAll(this.content, "(\\d+)", parameters -> "->" + parameters.group(1) + "<-")
+	 *     // 结果为:"ZZZaaabbbccc中文->1234<-"
+	 * 
* * @param str 要替换的字符串 * @param pattern 用于匹配的正则式 diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ReUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ReUtil.java index 0fd143d2c..299cf5b71 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/ReUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/ReUtil.java @@ -771,7 +771,13 @@ public class ReUtil { } /** - * 替换所有正则匹配的文本,并使用自定义函数决定如何替换 + * 替换所有正则匹配的文本,并使用自定义函数决定如何替换
+ * replaceFun可以通过{@link Matcher}提取出匹配到的内容的不同部分,然后经过重新处理、组装变成新的内容放回原位。 + * + *
+	 *     replaceAll(this.content, "(\\d+)", parameters -> "->" + parameters.group(1) + "<-")
+	 *     // 结果为:"ZZZaaabbbccc中文->1234<-"
+	 * 
* * @param str 要替换的字符串 * @param regex 用于匹配的正则式 @@ -784,7 +790,13 @@ public class ReUtil { } /** - * 替换所有正则匹配的文本,并使用自定义函数决定如何替换 + * 替换所有正则匹配的文本,并使用自定义函数决定如何替换
+ * replaceFun可以通过{@link Matcher}提取出匹配到的内容的不同部分,然后经过重新处理、组装变成新的内容放回原位。 + * + *
+	 *     replaceAll(this.content, "(\\d+)", parameters -> "->" + parameters.group(1) + "<-")
+	 *     // 结果为:"ZZZaaabbbccc中文->1234<-"
+	 * 
* * @param str 要替换的字符串 * @param pattern 用于匹配的正则式 diff --git a/hutool-core/src/test/java/cn/hutool/core/text/CharSequenceUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/text/CharSequenceUtilTest.java index a4178679e..bec53ad4d 100644 --- a/hutool-core/src/test/java/cn/hutool/core/text/CharSequenceUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/text/CharSequenceUtilTest.java @@ -3,10 +3,12 @@ package cn.hutool.core.text; import org.junit.Assert; import org.junit.Test; +import java.util.regex.Pattern; + public class CharSequenceUtilTest { @Test - public void replace() { + public void replaceTest() { String actual = CharSequenceUtil.replace("SSM15930297701BeryAllen", Pattern.compile("[0-9]"), matcher -> ""); Assert.assertEquals("SSMBeryAllen", actual); }