You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Loic Guibert (JIRA)" <ji...@apache.org> on 2015/04/26 14:55:38 UTC

[jira] [Created] (LANG-1119) Add rotate(string, int) method to StringUtils

Loic Guibert created LANG-1119:
----------------------------------

             Summary: Add rotate(string, int) method to StringUtils
                 Key: LANG-1119
                 URL: https://issues.apache.org/jira/browse/LANG-1119
             Project: Commons Lang
          Issue Type: New Feature
          Components: lang.*
            Reporter: Loic Guibert


Add a method to rotate (circular shift) a String into StringUtils.

{code:java}
/**
 * <p>Rotate (circular shift) a String of {@code shift} characters.</p>
 * <ul>
 *  <li>If {@code shift > 0}, right circular shift (ex : ABCDEF =&gt; FABCDE)</li>
 *  <li>If {@code shift < 0}, left circular shift (ex : ABCDEF =&gt; BCDEFA)</li>
 * </ul>
 *
 * <pre>
 * StringUtils.rotate(null, *)        = null
 * StringUtils.rotate("", *)          = ""
 * StringUtils.rotate("abcdefg", 0)   = "abcdefg"
 * StringUtils.rotate("abcdefg", 2)   = "fgabcde"
 * StringUtils.rotate("abcdefg", -2)  = "cdefgab"
 * StringUtils.rotate("abcdefg", 7)   = "abcdefg"
 * StringUtils.rotate("abcdefg", -7)  = "abcdefg"
 * StringUtils.rotate("abcdefg", 9)   = "fgabcde"
 * StringUtils.rotate("abcdefg", -9)  = "cdefgab"
 * </pre>
 *
 * @param str  the String to rotate, may be null
 * @param shift  number of time to shift (positive : right shift, negative : left shift)
 * @return the rotated String,
 *          or the original String if {@code shift == 0},
 *          or {@code null} if null String input
 */
public static String rotate(String str, int shift);
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)