The Usage of SuperStr


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!