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 { } /** - * 替换所有正则匹配的文本,并使用自定义函数决定如何替换 + * 替换所有正则匹配的文本,并使用自定义函数决定如何替换
+ * replaceAll(this.content, "(\\d+)", parameters -> "->" + parameters.group(1) + "<-") + * // 结果为:"ZZZaaabbbccc中文->1234<-" + ** * @param str 要替换的字符串 * @param regex 用于匹配的正则式 @@ -784,7 +790,13 @@ public class ReUtil { } /** - * 替换所有正则匹配的文本,并使用自定义函数决定如何替换 + * 替换所有正则匹配的文本,并使用自定义函数决定如何替换
+ * 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); }