The SuperStr is a Java String Utils Library I released in Github. Easy, simple and clean to use.
slice
Just like the slice methon in JavaScript
// delete characters
assertEquals(SuperStr.slice("mazhiyuan", 0, 1), "azhiyuan");
assertEquals(SuperStr.slice("mazhiyuan", 0, 10), "");
assertEquals(SuperStr.slice("mazhiyuan", 0, 0), "mazhiyuan");
assertEquals(SuperStr.slice("mazhiyuan", 3, 2), "mazyuan");
//insert or replace characters
assertEquals(SuperStr.slice("mazhiyuan", 4, 3, "b"), "mazhban");
assertEquals(SuperStr.slice("mazhiyuan", 4, 3, "b", "d", "w"), "mazhbdwan");
assertEquals(SuperStr.slice("mazhiyuan", 4, 0, "b", "d"), "mazhbdiyuan");
append
assertEquals(SuperStr.append("m", "a", "r", "k"), "mark");
assertEquals(SuperStr.append("", "m", "a", "r", "k"), "mark");
appendArray
assertEquals(SuperStr.append("m", "a", "r", "k"), "mark");
assertEquals(SuperStr.append("", "m", "a", "r", "k"), "mark");
at
assertTrue(SuperStr.at("mark", 2).get().equals('r'));
assertSame(SuperStr.at("mark", 5), Optional.empty());
assertSame(SuperStr.at("mark", -3).get(), 'a'); //Support negative index
between
assertArrayEquals(SuperStr.between("[abc][cde]", "[", "]"), new String[]{"abc", "cde"});
assertArrayEquals(SuperStr.between("[abc]f[cde]", "[", "]"), new String[]{"abc", "cde"});
collapseSpace
zip the n spaces into just 1 space
assertEquals(SuperStr.collapseSpace("mark ma"), "mark ma");
assertEquals(SuperStr.collapseSpace(" mark ma zhiyuan"), " mark ma zhiyuan");
contains
assertTrue(SuperStr.contains("mark", "m"));
assertFalse(SuperStr.contains("mark", "M")); // case sensitive
assertTrue(SuperStr.contains("mark", "M", false)); // non case sensitive
countStr
assertSame(SuperStr.countStr("maaaaaaaaaark", "Aa", false, false), 5); // non case sensitive and without allow overlapping
assertSame(SuperStr.countStr("maaaaaaaaaark", "Aa", false, true), 9); // non case sensitive and with allow overlapping
isBlank
String contains spaces only
assertFalse(SuperStr.isBlank(" a "));
assertTrue(SuperStr.isBlank(" "));
assertFalse(SuperStr.isBlank(""));
assertFalse(SuperStr.isBlank(null));
insert
assertEquals(SuperStr.insert("mk ma", "ar", 1), "mark ma");
assertEquals(SuperStr.insert("mk ma", "ar", 6), "mk ma"); // if index > value.length, return the value
left, mid and right Trim
//left
assertEquals(SuperStr.leftTrim(" mark"), "mark");
assertEquals(SuperStr.leftTrim(" mark "), "mark ");
assertEquals(SuperStr.leftTrim(" mar k"), "mar k");
//right
assertEquals(SuperStr.rightTrim("mark "), "mark");
assertEquals(SuperStr.rightTrim(" mark "), " mark");
assertEquals(SuperStr.rightTrim("mar k "), "mar k");
//mid
assertEquals(SuperStr.midTrim("mark "), "mark ");
assertEquals(SuperStr.midTrim("mar k "), "mark ");
isNotBlank
assertTrue(SuperStr.isNotBlank(" a"));
assertFalse(SuperStr.isNotBlank(" "));
assertFalse(SuperStr.isNotBlank(null));
assertFalse(SuperStr.isNotBlank(""));
trims
remove all the non-blank String in an Array
assertArrayEquals(SuperStr.trims(new String[]{"ma", "rk", null, "", " "}), new String[]{"ma", "rk"});
reverse
assertEquals(SuperStr.reverse("mark"), "kram");
removeNonWords
assertEquals(SuperStr.removeNonWords("ma^%$rk"), "mark");
There are some othe useful methods in the SuperStr, if you like, check out the source code from Github now!