strman-java Build Status codecov.io License
A Java 8 library for working with String. It is inspired by dleitee/strman.
To use strman in your application, you have to add strman in your classpath. strman is available on Maven Central so you just need to add dependency to your favorite build tool as show below.
For Apache Maven users, please add following to your pom.xml.
<dependencies> <dependency> <groupId>com.shekhargulati</groupId> <artifactId>strman</artifactId> <version>0.2.0</version> </dependency> </dependencies>
Gradle users can add following to their build.gradle file.
compile(group: 'com.shekhargulati', name: 'strman', version: '0.2.0')
These are the available functions in current version of library:
Appends Strings to value
import static strman.Strman.append append("f", "o", "o", "b", "a", "r") // result => "foobar"
Append an array of String to value
import static strman.Strman.appendArray appendArray("f", new String[]{"o", "o", "b", "a", "r"} // result => "foobar"
Get the character at index. This method will take care of negative indexes.
import static strman.Strman.at at("foobar", 0) // result => Optional("f")
Returns an array with strings between start and end.
import static strman.Strman.between between("[abc][def]", "[", "]") // result => ["abc","def"]
Returns a String array consisting of the characters in the String.
import static strman.Strman.chars chars("title") // result => ["t", "i", "t", "l", "e"]
Replace consecutive whitespace characters with a single space.
import static strman.Strman.collapseWhitespace collapseWhitespace("foo bar") // result => "foo bar"
Verifies that the needle is contained in the value.
import static strman.Strman.contains contains("foo bar","foo") // result => true contains("foo bar","FOO", false) // turning off case sensitivity // result => true
Verifies that all needles are contained in value
import static strman.Strman.containsAll containsAll("foo bar", new String[]{"foo", "bar"}) // result => true containsAll("foo bar", new String[]{"FOO", "bar"},false) // result => true
Verifies that one or more of needles are contained in value.
import static strman.Strman.containsAny containsAny("bar foo", new String[]{"FOO", "BAR", "Test"}, true) // result => true
Count the number of times substr appears in value
import static strman.Strman.countSubstr countSubstr("aaaAAAaaa", "aaa") // result => 2 countSubstr("aaaAAAaaa", "aaa", false, false) // result => 3
Test if value ends with search.
import static strman.Strman.endsWith endsWith("foo bar", "bar") // result => true endsWith("foo Bar", "BAR", false) // result => true
Ensures that the value begins with prefix. If it doesn't exist, it's prepended.
import static strman.Strman.ensureLeft ensureLeft("foobar", "foo") // result => "foobar" ensureLeft("bar", "foo") // result => "foobar" ensureLeft("foobar", "FOO", false) // result => "foobar"
Decodes data encoded with MIME base64
import static strman.Strman.base64Decode base64Decode("c3RybWFu") // result => "strman"
Encodes data with MIME base64.
import static strman.Strman.base64Encode base64Encode("strman") // result => "c3RybWFu"
Convert binary unicode (16 digits) string to string chars
import static strman.Strman.binDecode binDecode("0000000001000001") // result => "A"
Convert string chars to binary unicode (16 digits)
import static strman.Strman.binEncode binEncode("A") // result => "0000000001000001"
Convert decimal unicode (5 digits) string to string chars
import static strman.Strman.decDecode decDecode("00065") // result => "A"
Convert string chars to decimal unicode (5 digits)
import static strman.Strman.decEncode decEncode("A") // result => "00065"
Ensures that the value ends with suffix. If it doesn't, it's appended.
import static strman.Strman.ensureRight ensureRight("foo", "bar") // result => "foobar" ensureRight("foobar", "bar") // result => "foobar" ensureRight("fooBAR", "bar", false) // result => "foobar"
Returns the first n chars of String
import static strman.Strman.first first("foobar", 3) // result => "foo"
Return the first char of String
import static strman.Strman.head head("foobar") // result => "f"
Convert hexadecimal unicode (4 digits) string to string chars
import static strman.Strman.hexDecode hexDecode("0041") // result => "A"
Convert string chars to hexadecimal unicode (4 digits)
import static strman.Strman.hexEncode hexEncode("A") // result => "0041"
Tests if two Strings are inequal
import static strman.Strman.inequal inequal("a", "b") // result => true
Inserts 'substr' into the 'value' at the 'index' provided.
import static strman.Strman.insert insert("fbar", "oo", 1) // result => "foobar"
Return the last n chars of String
import static strman.Strman.last last("foobarfoo", 3) // result => "foo"
Returns a new string of a given length such that the beginning of the string is padded.
import static strman.Strman.leftPad leftPad("1", "0", 5) // result => "00001"
This method returns the index within the calling String object of the last occurrence of the specified value, searching backwards from the offset.
import static strman.Strman.lastIndexOf lastIndexOf("foobarfoobar", "F", false) // result => 6
Removes all spaces on left
import static strman.Strman.leftTrim leftTrim(" strman") // result => "strman"
Return a new String starting with prepends
prepend("r", "f", "o", "o", "b", "a") // "foobar"
Remove empty Strings from string array
removeEmptyStrings(new String[]{"aa", "", " ", "bb", "cc", null}) // result => ["aa", "bb", "cc"]
Returns a new String with the prefix removed, if present.
removeLeft("foofoo", "foo") // "foo"
Remove all non word characters.
removeNonWords("foo&bar-") // result => "foobar"
Returns a new string with the 'suffix' removed, if present.
removeRight("foobar", "bar") // result => "foo" removeRight("foobar", "BAR",false) // result => "foo"
Remove all spaces and replace for value.
removeSpaces("foo bar") // result => "foobar"
Returns a repeated string given a multiplier.
repeat("1", 3)
// result => "111"
Reverse the input String
reverse("foo") // result => "oof"
Returns a new string of a given length such that the ending of the string is padded.
rightPad("1", "0", 5) // result => "10000"
Remove all spaces on right.
rightTrim("strman ") // result => "strman"
Truncate the string securely, not cutting a word in half. It always returns the last full word.
safeTruncate("foo bar", 4, ".") // result => "foo." safeTruncate("A Javascript string manipulation library.", 16, "...") // result => "A Javascript..."
Truncate the unsecured form string, cutting the independent string of required position.
truncate("A Javascript string manipulation library.", 14, "...") // result => "A Javascrip..."
Converts all HTML entities to applicable characters.
htmlDecode("Ш") // result => Ш
Convert all applicable characters to HTML entities.
htmlEncode("Ш") // result => "Ш"
It returns a string with its characters in random order.
shuffle("shekhar")
Convert a String to a slug
slugify("foo bar") // result => "foo-bar"
Remove all non valid characters. Example: change á => a or ẽ => e.
transliterate("fóõ bár") // result => "foo bar"
Surrounds a 'value' with the given 'prefix' and 'suffix'.
surround("div", "<", ">" // result => "<div>s"
tail("foobar") // result => "oobar"
Transform to camelCase
toCamelCase("CamelCase") // result => "camelCase" toCamelCase("camel-case") // result => "camelCase"
Transform to StudlyCaps.
toStudlyCase("hello world") // result => "HelloWorld"
Decamelize String
toDecamelize("helloWorld",null) // result => "hello world"
Transform to kebab-case.
toKebabCase("hello World") // result => "hello-world"
Transform to snake_case.
toSnakeCase("hello world") // result => "hello_world"
strman is licensed under the MIT License - see the LICENSE file for details.