This commit is contained in:
Looly
2023-03-25 14:04:23 +08:00
parent bece00d176
commit 9f9efdcef4
9 changed files with 334 additions and 133 deletions

View File

@@ -221,7 +221,7 @@ public class StrUtilTest {
string = StrUtil.replace("aabbccdd", 2, 12, '*');
Assert.assertEquals("aa******", string);
String emoji = StrUtil.replace("\uD83D\uDE00aabb\uD83D\uDE00ccdd", 2, 6, '*');
final String emoji = StrUtil.replace("\uD83D\uDE00aabb\uD83D\uDE00ccdd", 2, 6, '*');
Assert.assertEquals("\uD83D\uDE00a****ccdd", emoji);
}
@@ -231,12 +231,6 @@ public class StrUtilTest {
Assert.assertEquals("133", result);
}
@Test
public void replaceTest3() {
final String result = StrUtil.replace(",abcdef,", ",", "|");
Assert.assertEquals("|abcdef|", result);
}
@Test
public void replaceTest4() {
final String a = "1039";
@@ -642,7 +636,7 @@ public class StrUtilTest {
final String result = StrUtil.replace(replace, 5, 12, "***");
Assert.assertEquals("SSM15***01BeryAllen", result);
String emoji = StrUtil.replace("\uD83D\uDE00aabb\uD83D\uDE00ccdd", 2, 6, "***");
final String emoji = StrUtil.replace("\uD83D\uDE00aabb\uD83D\uDE00ccdd", 2, 6, "***");
Assert.assertEquals("\uD83D\uDE00a***ccdd", emoji);
}

View File

@@ -0,0 +1,43 @@
package cn.hutool.core.text.replacer;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.text.StrUtil;
import org.junit.Assert;
import org.junit.Test;
public class SearchReplacerTest {
@Test
public void replaceOnlyTest() {
final String result = CharSequenceUtil.replace(",", ",", "|");
Assert.assertEquals("|", result);
}
@Test
public void replaceTestAtBeginAndEnd() {
final String result = CharSequenceUtil.replace(",abcdef,", ",", "|");
Assert.assertEquals("|abcdef|", result);
}
@Test
public void replaceTest() {
final String str = "AAABBCCCBBDDDBB";
String replace = StrUtil.replace(str, 0, "BB", "22", false);
Assert.assertEquals("AAA22CCC22DDD22", replace);
replace = StrUtil.replace(str, 3, "BB", "22", false);
Assert.assertEquals("AAA22CCC22DDD22", replace);
replace = StrUtil.replace(str, 4, "BB", "22", false);
Assert.assertEquals("AAABBCCC22DDD22", replace);
replace = StrUtil.replace(str, 4, "bb", "22", true);
Assert.assertEquals("AAABBCCC22DDD22", replace);
replace = StrUtil.replace(str, 4, "bb", "", true);
Assert.assertEquals("AAABBCCCDDD", replace);
replace = StrUtil.replace(str, 4, "bb", null, true);
Assert.assertEquals("AAABBCCCDDD", replace);
}
}

View File

@@ -134,28 +134,6 @@ public class ReUtilTest {
Assert.assertThrows(IllegalArgumentException.class, () -> ReUtil.replaceAll(content, pattern, str));
}
@Test
public void replaceTest() {
final String str = "AAABBCCCBBDDDBB";
String replace = StrUtil.replace(str, 0, "BB", "22", false);
Assert.assertEquals("AAA22CCC22DDD22", replace);
replace = StrUtil.replace(str, 3, "BB", "22", false);
Assert.assertEquals("AAA22CCC22DDD22", replace);
replace = StrUtil.replace(str, 4, "BB", "22", false);
Assert.assertEquals("AAABBCCC22DDD22", replace);
replace = StrUtil.replace(str, 4, "bb", "22", true);
Assert.assertEquals("AAABBCCC22DDD22", replace);
replace = StrUtil.replace(str, 4, "bb", "", true);
Assert.assertEquals("AAABBCCCDDD", replace);
replace = StrUtil.replace(str, 4, "bb", null, true);
Assert.assertEquals("AAABBCCCDDD", replace);
}
@Test
public void escapeTest() {
//转义给定字符串,为正则相关的特殊符号转义