`

GotHub Strman-java – 字符串处理

阅读更多

Strmen-java是一个字符串处理工具,你可以通过maven将它引入到项目中。除了Java本身的字符串处理方式外,我们还可以使用Apache Common Langs里的StringUtils来简化String的操作。但以上两种方式对于我们日常编程中最容易碰到的字符串处理来说,仍然显得有些不足。Strmen-java为我们提供了一个非常完整且强大的解决方案,使用它可以解决几乎所有字符串处理场景。

 

Getting Started

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>
        <type>jar</type>
    </dependency>
</dependencies>

Gradle users can add following to their build.gradle file.

compile(group: 'com.shekhargulati', name: 'strman', version: '0.2.0', ext: 'jar'){
        transitive=true
}

Available Functions

These are the available functions in current version of library:

append

Appends Strings to value

import static strman.Strman.append
append("f", "o", "o", "b", "a", "r")
// result => "foobar"

appendArray

Append an array of String to value

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.

import static strman.Strman.at
at("foobar", 0)
// result => Optional("f")

between

Returns an array with strings between start and end.

import static strman.Strman.between
between("[abc][def]", "[", "]")
// result => ["abc","def"]

chars

Returns a String array consisting of the characters in the String.

import static strman.Strman.chars
chars("title")
// result => ["t", "i", "t", "l", "e"]

collapseWhitespace

Replace consecutive whitespace characters with a single space.

import static strman.Strman.collapseWhitespace
collapseWhitespace("foo    bar")
// result => "foo bar"

contains

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

containsAll

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

containsAny

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

countSubstr

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

endsWith

Test if value ends with search.

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.

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

import static strman.Strman.base64Decode
base64Decode("c3RybWFu")
// result => "strman"

base64Encode

Encodes data with MIME base64.

import static strman.Strman.base64Encode
base64Encode("strman")
// result => "c3RybWFu"

binDecode

Convert binary unicode (16 digits) string to string chars

import static strman.Strman.binDecode
binDecode("0000000001000001")
// result => "A"

binEncode

Convert string chars to binary unicode (16 digits)

import static strman.Strman.binEncode
binEncode("A")
// result => "0000000001000001"

decDecode

Convert decimal unicode (5 digits) string to string chars

import static strman.Strman.decDecode
decDecode("00065")
// result => "A"

decEncode

Convert string chars to decimal unicode (5 digits)

import static strman.Strman.decEncode
decEncode("A")
// result => "00065"

ensureRight

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"

first

Returns the first n chars of String

import static strman.Strman.first
first("foobar", 3)
// result => "foo"

head

Return the first char of String

import static strman.Strman.head
head("foobar")
// result => "f"

hexDecode

Convert hexadecimal unicode (4 digits) string to string chars

import static strman.Strman.hexDecode
hexDecode("0041")
// result => "A"

hexEncode

Convert string chars to hexadecimal unicode (4 digits)

import static strman.Strman.hexEncode
hexEncode("A")
// result => "0041"

inequal

Tests if two Strings are inequal

import static strman.Strman.inequal
inequal("a", "b")
// result => true

insert

Inserts 'substr' into the 'value' at the 'index' provided.

import static strman.Strman.insert
insert("fbar", "oo", 1)
// result => "foobar"

last

Return the last n chars of String

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.

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.

import static strman.Strman.lastIndexOf
lastIndexOf("foobarfoobar", "F", false)
// result => 6

leftTrim

Removes all spaces on left

import static strman.Strman.leftTrim
leftTrim("     strman")
// result => "strman"

prepend

Return a new String starting with prepends

prepend("r", "f", "o", "o", "b", "a")
// "foobar"

removeEmptyStrings

Remove empty Strings from string array

removeEmptyStrings(new String[]{"aa", "", "   ", "bb", "cc", null})
// result => ["aa", "bb", "cc"]

removeLeft

Returns a new String with the prefix removed, if present.

removeLeft("foofoo", "foo")
// "foo"

removeNonWords

Remove all non word characters.

removeNonWords("foo&bar-")
// result => "foobar"

removeRight

Returns a new string with the 'suffix' removed, if present.

removeRight("foobar", "bar")
// result => "foo"
removeRight("foobar", "BAR",false)
// result => "foo"

removeSpaces

Remove all spaces and replace for value.

removeSpaces("foo bar")
// result => "foobar"

repeat

Returns a repeated string given a multiplier.

repeat("1", 3)
// result  => "111"

reverse

Reverse the input String

reverse("foo")
// result => "oof"

rightPad

Returns a new string of a given length such that the ending of the string is padded.

rightPad("1", "0", 5)
// result => "10000"

rightTrim

Remove all spaces on right.

rightTrim("strman   ")
// result => "strman"

safeTruncate

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

Truncate the unsecured form string, cutting the independent string of required position.

truncate("A Javascript string manipulation library.", 14, "...")
// result => "A Javascrip..."

htmlDecode

Converts all HTML entities to applicable characters.

htmlDecode("&SHcy;")
// result => Ш

htmlEncode

Convert all applicable characters to HTML entities.

htmlEncode("Ш")
// result => "&SHcy;"

shuffle

It returns a string with its characters in random order.

shuffle("shekhar")

slugify

Convert a String to a slug

slugify("foo bar")
// result => "foo-bar"

transliterate

Remove all non valid characters. Example: change á => a or ẽ => e.

transliterate("fóõ bár")
// result => "foo bar"

surround

Surrounds a 'value' with the given 'prefix' and 'suffix'.

surround("div", "<", ">"
// result => "<div>s"

tail

tail("foobar")
// result => "oobar"

toCamelCase

Transform to camelCase

toCamelCase("CamelCase")
// result => "camelCase"
toCamelCase("camel-case")
// result => "camelCase"

toStudlyCase

Transform to StudlyCaps.

toStudlyCase("hello world")
// result => "HelloWorld"

toDecamelize

Decamelize String

toDecamelize("helloWorld",null)
// result => "hello world"

toKebabCase

Transform to kebab-case.

toKebabCase("hello World")
// result => "hello-world"

toSnakeCase

Transform to snake_case.

toSnakeCase("hello world")
// result => "hello_world"

 

https://github.com/shekhargulati/strman-java

分享到:
评论

相关推荐

    基于java的开发源码-github-Java-api.zip

    基于java的开发源码-github-Java-api.zip 基于java的开发源码-github-Java-api.zip 基于java的开发源码-github-Java-api.zip 基于java的开发源码-github-Java-api.zip 基于java的开发源码-github-Java-api.zip 基于...

    基于Java的实例源码-github-Java-api.zip

    基于Java的实例源码-github-Java-api.zip

    JAVA源码github-java-api

    其中,名为“JAVA源码github-java-api”的开源项目,为Java开发者提供了一个宝贵的资源库。该项目在Github上的分享,允许用户免费访问和下载大量Java语言的源代码。开发者可以通过研究这些源代码,深入理解Java语言...

    weixin-java-mp-2.8.0-API文档-中文版.zip

    赠送jar包:weixin-java-mp-2.8.0.jar; 赠送原API文档:weixin-java-mp-2.8.0-javadoc.jar; 赠送源代码:weixin-java-mp-2.8.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-mp-2.8.0.pom; 包含翻译后的API...

    Android代码-rx-java-extensions

    Extensions to RxJava This library allow simple implementation for some tasks in android Usage Add library to project dependencies. repositories { ... compile 'com.github.jacek-marchwicki.rx-java-

    weixin-java-cp-2.8.0-API文档-中文版.zip

    赠送jar包:weixin-java-cp-2.8.0.jar; 赠送原API文档:weixin-java-cp-2.8.0-javadoc.jar; 赠送源代码:weixin-java-cp-2.8.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-cp-2.8.0.pom; 包含翻译后的API...

    weixin-java-miniapp-2.8.0-API文档-中文版.zip

    赠送jar包:weixin-java-miniapp-2.8.0.jar; 赠送原API文档:weixin-java-miniapp-2.8.0-javadoc.jar; 赠送源代码:weixin-java-miniapp-2.8.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-miniapp-2.8.0....

    weixin-java-miniapp-2.8.0-API文档-中英对照版.zip

    赠送jar包:weixin-java-miniapp-2.8.0.jar; 赠送原API文档:weixin-java-miniapp-2.8.0-javadoc.jar; 赠送源代码:weixin-java-miniapp-2.8.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-miniapp-2.8.0....

    weixin-java-miniapp-3.5.0-API文档-中文版.zip

    赠送jar包:weixin-java-miniapp-3.5.0.jar; 赠送原API文档:weixin-java-miniapp-3.5.0-javadoc.jar; 赠送源代码:weixin-java-miniapp-3.5.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-miniapp-3.5.0....

    mysql-binlog-connector-java-0.21.0-API文档-中文版.zip

    赠送jar包:mysql-binlog-connector-java-0.21.0.jar; 赠送原API文档:mysql-binlog-connector-java-0.21.0-javadoc.jar; 赠送源代码:mysql-binlog-connector-java-0.21.0-sources.jar; 赠送Maven依赖信息文件:...

    github-java-api技术文档资料

    github-java-api技术文档资料

    weixin-java-common-3.5.0-API文档-中文版.zip

    赠送jar包:weixin-java-common-3.5.0.jar; 赠送原API文档:weixin-java-common-3.5.0-javadoc.jar; 赠送源代码:weixin-java-common-3.5.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-common-3.5.0.pom;...

    weixin-java-pay-2.8.0-API文档-中文版.zip

    赠送jar包:weixin-java-pay-2.8.0.jar; 赠送原API文档:weixin-java-pay-2.8.0-javadoc.jar; 赠送源代码:weixin-java-pay-2.8.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-pay-2.8.0.pom; 包含翻译后...

    java资源github-java-api

    java资源github-java-api提取方式是百度网盘分享地址

    基于Java的源码-github-Java-api.zip

    基于Java的源码-github-Java-api.zip

    weixin-java-mp-3.5.0-API文档-中英对照版.zip

    赠送jar包:weixin-java-mp-3.5.0.jar; 赠送原API文档:weixin-java-mp-3.5.0-javadoc.jar; 赠送源代码:weixin-java-mp-3.5.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-mp-3.5.0.pom; 包含翻译后的API...

    基于java的github-java-api.zip

    基于java的github-java-api.zip

    基于Java的github-Java-api.zip

    基于Java的github-Java-api.zip

    weixin-java-miniapp-3.5.0-API文档-中英对照版.zip

    赠送jar包:weixin-java-miniapp-3.5.0.jar; 赠送原API文档:weixin-java-miniapp-3.5.0-javadoc.jar; 赠送源代码:weixin-java-miniapp-3.5.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-miniapp-3.5.0....

    java源码:github-java-api.zip

    这份"java源码:github-java-api.zip"包含了GitHub Java API的源代码,为开发者提供了深入学习和理解该库内部工作原理的机会。 GitHub Java API是由dlinsin开发并维护的,版本号为5f7e387。这个库的核心目标是提供...

Global site tag (gtag.js) - Google Analytics