GitHub user thiagoh opened a pull request:

    https://github.com/apache/commons-lang/pull/25

    Adding unwrap and unwrapFull methods to StringUtils

    Adding the following methods from `StringUtils`:
    * `public static String unwrap(String str, char unwrapChar)`
    * `public static String unwrapFull(String str, char unwrapChar)`
    * `public static String unwrap(String str, String unwrapStr)`
    * `public static String unwrapFull(String str, String unwrapStr)`
    * `public static String unwrap(String str, String unwrapLeft, String 
unwrapRight)`
    * `public static String unwrapFull(String str, String unwrapLeft, String 
unwrapRight)`
    
    These methods unwraps (fully or not) the string parameter
    
    Usage:
    ```
    
    // public static String unwrap(String str, char unwrapChar)
    StringUtils.unwrap("", '\0') = ""
    StringUtils.unwrap("xabx", 'x') = "ab"
    StringUtils.unwrap("\"ab\"", '\"') = "ab"
    StringUtils.unwrap("\"\"ab\"\"", '\"') = "\"ab\""
    StringUtils.unwrap("'ab'", '\'') = "ab"
    StringUtils.unwrap("''ab''", '\'') = "'ab'"
    StringUtils.unwrap("'''ab'''", '\'') = "''ab''"
    StringUtils.unwrap("'\"abcd\"'", '\'') = "\"abcd\""
    StringUtils.unwrap("'\"abcd\"'", '\"') = "'\"abcd\"'"
    
    // public static String unwrapFull(String str, char unwrapChar)
    StringUtils.unwrapFull("", '\0') = ""
    StringUtils.unwrapFull("xabx", 'x') = "ab"
    StringUtils.unwrapFull("xxxxxxabxxxxxx", 'x') = "ab"
    StringUtils.unwrapFull("\"ab\"", '\"') = "ab"
    StringUtils.unwrapFull("\"\"ab\"\"", '\"') = "ab"
    StringUtils.unwrapFull("'ab'", '\'') = "ab"
    StringUtils.unwrapFull("'x'ab'x'", '\'') = "x'ab'x"
    StringUtils.unwrapFull("''ab''", '\'') = "ab"
    StringUtils.unwrapFull("'''''ab'''''", '\'') = "ab"
    StringUtils.unwrapFull("''''x'ab'''''", '\'') = "x'ab'"
    StringUtils.unwrapFull("'ab''''", '\'') = "ab'''"
    
    // public static String unwrap(String str, String unwrapStr)
    StringUtils.unwrap("xxabxx", "xx") = "ab"
    StringUtils.unwrap("xxxxabxxxx", "xx") = "xxabxx"
    StringUtils.unwrap("xx xxabxx xx", "xx") = " xxabxx "
    StringUtils.unwrap("xxZxx", "xx") = "Z"
    StringUtils.unwrap("xxZxx", "x") = "xZx"
    StringUtils.unwrap("xzx xzx", "xzx") = " "
    StringUtils.unwrap("xxxx xxxx", "xx") = "xx xx"
    StringUtils.unwrap("'name'", "'") = "name"
    StringUtils.unwrap("''name''", "'") = "'name'"
    StringUtils.unwrap("'''name'''", "'") = "''name''"
    
    // public static String unwrapFull(String str, String unwrapStr)
    StringUtils.unwrapFull("xxabxx", "x") = "ab"
    StringUtils.unwrapFull("xx xxabxx xx", "xx") = " ab "
    StringUtils.unwrapFull("xxZxx", "xx") = "Z"
    StringUtils.unwrapFull("xzx xzx", "xzx") = " "
    StringUtils.unwrapFull("xxxx xxxx", "xx") = " "
    StringUtils.unwrapFull("'name'", "'") = "name"
    StringUtils.unwrapFull("''name''", "'") = "name"
    StringUtils.unwrapFull("'''name'''", "'") = "name"
    
    // public static String unwrap(String str, String unwrapLeft, String 
unwrapRight)
    StringUtils.unwrap("xxabxx", "x", "x") = "ab"
    StringUtils.unwrap("xx xxabxx xx", "xx", "xx") = " ab "
    StringUtils.unwrap("xxZxx", "xx", "xx") = "Z"
    StringUtils.unwrap("xxZxx", "xx", "yy") = "xxZxx" // no unwrap
    StringUtils.unwrap("xzx xzx", "xzx", "xzx") = " "
    StringUtils.unwrap("xxxx xxxx", "xx", "xx") = " "
    StringUtils.unwrap("xxxx xxxx", "xx", "yy") = "xxxx xxxx" // no unwrap
    StringUtils.unwrap("xxxxxxxxxxoutputxxxxxxxxxx", "xxxxx", "xxxxx") = 
"output"
    StringUtils.unwrap("%{name}", "%{", "}") = "name"
    StringUtils.unwrap("%{ name}", "%{", "}") = " name"
    StringUtils.unwrap("%{ name }", "%{", "}") = " name "
    StringUtils.unwrap(" %{ name }", "%{", "}") = "  name "
    StringUtils.unwrap("%{'name'}", "%{'", "'}") = "name"
    StringUtils.unwrap("%{' name'}", "%{'", "'}") = " name"
    StringUtils.unwrap("%{' name '}", "%{'", "'}") = " name "
    StringUtils.unwrap(" %{' name '}", "%{'", "'}") = "  name "
    StringUtils.unwrap("%{ 'name'}", "%{'", "'}") = "%{ 'name'}" // no unwrap
    StringUtils.unwrap("% {'name'}", "%{'", "'}") = "% {'name'}" // no unwrap
    StringUtils.unwrap("% { 'name'}", "%{'", "'}") = "% { 'name'}" // no unwrap
    
    // public static String unwrapFull(String str, String unwrapLeft, String 
unwrapRight)
    StringUtils.unwrapFull("xxabxx", "x", "x") = "ab"
    StringUtils.unwrapFull("xx xxabxx xx", "xx", "xx") = " ab "
    StringUtils.unwrapFull("xxZxx", "xx", "xx") = "Z"
    StringUtils.unwrapFull("xxZxx", "xx", "yy") = "xxZxx" // no unwrap
    StringUtils.unwrapFull("xzx xzx", "xzx", "xzx") = " "
    StringUtils.unwrapFull("xxxx xxxx", "xx", "xx") = " "
    StringUtils.unwrapFull("xxxx xxxx", "xx", "yy") = "xxxx xxxx" // no unwrap
    StringUtils.unwrapFull("xxxxxxxxxxoutputxxxxxxxxxx", "xxxxx", "xxxxx") = 
"output"
    StringUtils.unwrapFull("%{name}", "%{", "}") = "name"
    StringUtils.unwrapFull("%{ name}", "%{", "}") = " name"
    StringUtils.unwrapFull("%{ name }", "%{", "}") = " name "
    StringUtils.unwrapFull(" %{ name }", "%{", "}") = "  name "
    StringUtils.unwrapFull("%{'name'}", "%{'", "'}") = "name"
    StringUtils.unwrapFull("%{' name'}", "%{'", "'}") = " name"
    StringUtils.unwrapFull("%{' name '}", "%{'", "'}") = " name "
    StringUtils.unwrapFull(" %{' name '}", "%{'", "'}") = "  name "
    StringUtils.unwrapFull("%{ 'name'}", "%{'", "'}") = "%{ 'name'}" // no 
unwrap
    StringUtils.unwrapFull("% {'name'}", "%{'", "'}") = "% {'name'}" // no 
unwrap
    StringUtils.unwrapFull("% { 'name'}", "%{'", "'}") = "% { 'name'}" // no 
unwrap
    
    ```
    
    Jira ticket 

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/thiagoh/commons-lang branch-2-unwrap

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/commons-lang/pull/25.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #25
    
----
commit 97261aa164cb0d924188dbcb5634afc2935305b3
Author: thiagoh <thia...@gmail.com>
Date:   2014-05-14T20:55:52Z

    Adding unwrap and unwrapFull methods to StringUtils

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to