diff --git a/README.md b/README.md index 7dce744..bd9ffd6 100644 --- a/README.md +++ b/README.md @@ -1,644 +1,36 @@ strman-java [![Build Status](https://travis-ci.org/shekhargulati/strman-java.svg?branch=master)](https://travis-ci.org/shekhargulati/strman-java) [![codecov.io](https://codecov.io/github/shekhargulati/strman-java/coverage.svg?branch=master)](https://codecov.io/github/shekhargulati/strman-java?branch=master) [![License](https://img.shields.io/:license-mit-blue.svg)](./LICENSE.txt) ------ -A Java 8 library for working with String. You can refer to Javadocs online [http://shekhargulati.github.io/strman-java/](http://shekhargulati.github.io/strman-java/). +A Java 8 library for working with Strings. +You can learn about all the String utility functions implemented in `strman` library by reading the [documentation](https://github.com/shekhargulati/strman-java/wiki). Getting Started -------- -To use strman in your application, you have to add `strman` in your classpath. strman is available on [Maven Central](http://search.maven.org/) so you just need to add dependency to your favorite build tool as show below. +To use strman in your application, you have to add `strman` to your classpath. +strman is available on [Maven Central](http://search.maven.org/) so you just need to add dependency in your favorite build tool as shown below. -For Apache Maven users, please add following to your pom.xml. +For Apache Maven users, please add following to your `pom.xml`. ```xml com.shekhargulati strman - 0.3.0 + 0.4.0 ``` -Gradle users can add following to their build.gradle file. +Gradle users can add following to their `build.gradle` file. ``` -compile(group: 'com.shekhargulati', name: 'strman', version: '0.3.0') +compile(group: 'com.shekhargulati', name: 'strman', version: '0.4.0') ``` To learn what we added in the latest version please refer to `./changelog.md`. -## Available Functions - -These are the available functions in current version of library: - -## append - -Appends Strings to value - -```java -import static strman.Strman.append -append("f", "o", "o", "b", "a", "r") -// result => "foobar" -``` - -## appendArray - -Append an array of String to value - -```java -import static strman.Strman.appendArray -appendArray("f", new String[]{"o", "o", "b", "a", "r"} -// result => "foobar" -``` - -## at - -Get the character at index. This method will take care of negative indexes. - -```java -import static strman.Strman.at -at("foobar", 0) -// result => Optional("f") -``` - -## between - -Returns an array with strings between start and end. - -```java -import static strman.Strman.between -between("[abc][def]", "[", "]") -// result => ["abc","def"] -``` - -## chars - -Returns a String array consisting of the characters in the String. - -```java -import static strman.Strman.chars -chars("title") -// result => ["t", "i", "t", "l", "e"] -``` - -## charsCount - -Counts the number of occurrences of each character in the string - -```java -import static strman.Strman.charsCount -charsCount("abca") -// result => Map(("a",2),("b",1),("c",1)) -``` - -## collapseWhitespace - -Replace consecutive whitespace characters with a single space. - -```java -import static strman.Strman.collapseWhitespace -collapseWhitespace("foo bar") -// result => "foo bar" -``` - -## contains - -Verifies that the needle is contained in the value. - -```java -import static strman.Strman.contains -contains("foo bar","foo") -// result => true - -contains("foo bar","FOO", false) // turning off case sensitivity -// result => true -``` - -## containsAll - -Verifies that all needles are contained in value - -```java -import static strman.Strman.containsAll -containsAll("foo bar", new String[]{"foo", "bar"}) -// result => true - -containsAll("foo bar", new String[]{"FOO", "bar"},false) -// result => true -``` - -## containsAny - -Verifies that one or more of needles are contained in value. - -```java -import static strman.Strman.containsAny -containsAny("bar foo", new String[]{"FOO", "BAR", "Test"}, true) -// result => true -``` - -## countSubstr - -Count the number of times substr appears in value - -```java -import static strman.Strman.countSubstr -countSubstr("aaaAAAaaa", "aaa") -// result => 2 -countSubstr("aaaAAAaaa", "aaa", false, false) -// result => 3 -``` - -## endsWith - -Test if value ends with search. - -```java -import static strman.Strman.endsWith -endsWith("foo bar", "bar") -// result => true -endsWith("foo Bar", "BAR", false) -// result => true -``` - -## ensureLeft - -Ensures that the value begins with prefix. If it doesn't exist, it's prepended. - -```java -import static strman.Strman.ensureLeft -ensureLeft("foobar", "foo") -// result => "foobar" -ensureLeft("bar", "foo") -// result => "foobar" -ensureLeft("foobar", "FOO", false) -// result => "foobar" -``` - -## base64Decode - -Decodes data encoded with MIME base64 - -```java -import static strman.Strman.base64Decode -base64Decode("c3RybWFu") -// result => "strman" -``` - -## base64Encode - -Encodes data with MIME base64. - -```java -import static strman.Strman.base64Encode -base64Encode("strman") -// result => "c3RybWFu" -``` - -## binDecode - -Convert binary unicode (16 digits) string to string chars - -```java -import static strman.Strman.binDecode -binDecode("0000000001000001") -// result => "A" -``` - -## binEncode - -Convert string chars to binary unicode (16 digits) - -```java -import static strman.Strman.binEncode -binEncode("A") -// result => "0000000001000001" -``` - -## decDecode - -Convert decimal unicode (5 digits) string to string chars - -```java -import static strman.Strman.decDecode -decDecode("00065") -// result => "A" -``` - -## decEncode - -Convert string chars to decimal unicode (5 digits) - -```java -import static strman.Strman.decEncode -decEncode("A") -// result => "00065" -``` - -## ensureRight - -Ensures that the value ends with suffix. If it doesn't, it's appended. - -```java -import static strman.Strman.ensureRight -ensureRight("foo", "bar") -// result => "foobar" - -ensureRight("foobar", "bar") -// result => "foobar" - -ensureRight("fooBAR", "bar", false) -// result => "foobar" -``` - -## first - -Returns the first n chars of String - -```java -import static strman.Strman.first -first("foobar", 3) -// result => "foo" -``` - -## head - -Return the first char of String - -```java -import static strman.Strman.head -head("foobar") -// result => "f" -``` - -## hexDecode - -Convert hexadecimal unicode (4 digits) string to string chars - -```java -import static strman.Strman.hexDecode -hexDecode("0041") -// result => "A" -``` - -## hexEncode - -Convert string chars to hexadecimal unicode (4 digits) - -```java -import static strman.Strman.hexEncode -hexEncode("A") -// result => "0041" -``` - -## inequal - -Tests if two Strings are inequal - -```java -import static strman.Strman.inequal -inequal("a", "b") -// result => true -``` - -## insert - -Inserts 'substr' into the 'value' at the 'index' provided. - -```java -import static strman.Strman.insert -insert("fbar", "oo", 1) -// result => "foobar" -``` - -## last - -Return the last n chars of String - -```java -import static strman.Strman.last -last("foobarfoo", 3) -// result => "foo" -``` - -## leftPad - -Returns a new string of a given length such that the beginning of the string is padded. - -```java -import static strman.Strman.leftPad -leftPad("1", "0", 5) -// result => "00001" -``` - -## lastIndexOf - -This method returns the index within the calling String object of the last occurrence of the specified value, searching backwards from the offset. - -```java -import static strman.Strman.lastIndexOf -lastIndexOf("foobarfoobar", "F", false) -// result => 6 -``` - -## leftTrim - -Removes all spaces on left - -```java -import static strman.Strman.leftTrim -leftTrim(" strman") -// result => "strman" -``` - -## prepend - -Return a new String starting with prepends - -```java -prepend("r", "f", "o", "o", "b", "a") -// "foobar" -``` - -## removeEmptyStrings - -Remove empty Strings from string array - -```java -removeEmptyStrings(new String[]{"aa", "", " ", "bb", "cc", null}) -// result => ["aa", "bb", "cc"] -``` - -## removeLeft - -Returns a new String with the prefix removed, if present. - -```java -removeLeft("foofoo", "foo") -// "foo" -``` - -## removeNonWords - -Remove all non word characters. - -```java -removeNonWords("foo&bar-") -// result => "foobar" -``` - -## removeRight - -Returns a new string with the 'suffix' removed, if present. - -```java -removeRight("foobar", "bar") -// result => "foo" -removeRight("foobar", "BAR",false) -// result => "foo" -``` - -## removeSpaces - -Remove all spaces and replace for value. - -```java -removeSpaces("foo bar") -// result => "foobar" -``` - -## repeat - -Returns a repeated string given a multiplier. - -``` -repeat("1", 3) -// result => "111" -``` - -## reverse - -Reverse the input String - -```java -reverse("foo") -// result => "oof" -``` - -## rightPad - -Returns a new string of a given length such that the ending of the string is padded. - -```java -rightPad("1", "0", 5) -// result => "10000" -``` - -## rightTrim - -Remove all spaces on right. - -```java -rightTrim("strman ") -// result => "strman" -``` - -## safeTruncate - -Truncate the string securely, not cutting a word in half. It always returns the last full word. - -```java -safeTruncate("foo bar", 4, ".") -// result => "foo." -safeTruncate("A Javascript string manipulation library.", 16, "...") -// result => "A Javascript..." -``` - -## truncate - -Truncate the unsecured form string, cutting the independent string of required position. - -```java -truncate("A Javascript string manipulation library.", 14, "...") -// result => "A Javascrip..." -``` - -## htmlDecode - -Converts all HTML entities to applicable characters. - -```java -htmlDecode("Ш") -// result => Ш -``` - -## htmlEncode - -Convert all applicable characters to HTML entities. - -```java -htmlEncode("Ш") -// result => "Ш" -``` - -## shuffle - -It returns a string with its characters in random order. - -```java -shuffle("shekhar") -``` - -## slugify - -Convert a String to a slug - -```java -slugify("foo bar") -// result => "foo-bar" -``` - -## transliterate - -Remove all non valid characters. Example: change á => a or ẽ => e. - -```java -transliterate("fóõ bár") -// result => "foo bar" -``` - -## trimEnd - -Removes trailing characters from string. - -``` -trimEnd(" abc ") -// result => Optional(" abc") -trimEnd("") -// result Optional.empty() -``` - -## surround - -Surrounds a 'value' with the given 'prefix' and 'suffix'. - -```java -surround("div", "<", ">" -// result => "
s" -``` - -## tail - -```java -tail("foobar") -// result => "oobar" -``` - -## toCamelCase - -Transform to camelCase - -```java -toCamelCase("CamelCase") -// result => "camelCase" -toCamelCase("camel-case") -// result => "camelCase" -``` - -## toStudlyCase - -Transform to StudlyCaps. - -```java -toStudlyCase("hello world") -// result => "HelloWorld" -``` - -## toDecamelize - -Decamelize String - -```java -toDecamelize("helloWorld",null) -// result => "hello world" -``` - -## toKebabCase - -Transform to kebab-case. - -```java -toKebabCase("hello World") -// result => "hello-world" -``` - -## toSnakeCase - -Transform to snake_case. - -```java -toSnakeCase("hello world") -// result => "hello_world" -``` - -## upperFirst - -Converts the first character of string to upper case. - -```java -upperFirst("fred") -// result => "Fred" -``` - -## words - -Splits a String to words - -```java -words("This is a string, with words!") -// result => ["This", "is", "a", "string", "with", "words"] -``` - -## isEnclosedBetween - -Verifies whether String is enclosed by encloser - -```java -isEnclosedBetween("{{shekhar}}", "{{", "}}") -// result => true -``` - -## join - -Join concatenates all the elements of the strings array into a single String. The separator string is placed between elements in the resulting string. - -```java -join(new String[]{"hello","world","123"}, ";") -// result => "hello;world;123") -``` - -## isBlank - -isEmpty returns true if a string is blank or null and false otherwise. - -```java -isBlank("") -// result => true) -isBlank(null) -// result => true) -isBlank("test") -// result => false) -``` - -## underscored - -`underscored` function converts a camel or dashed string into an underscored one - -```java -underscored("MozTransform") -// result => "moz_transform") -``` +You can refer to Javadocs online [http://shekhargulati.github.io/strman-java/](http://shekhargulati.github.io/strman-java/). ## Inspiration