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.1.0</version>
<type>jar</type>
</dependency>
</dependencies>
Gradle users can add following to their build.gradle file.
compile(group: 'com.shekhargulati', name: 'strman', version: '0.1.0', ext: 'jar'){
transitive=true
}
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 => "strma"
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.