[
https://issues.apache.org/jira/browse/LANG-811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sebb resolved LANG-811.
-----------------------
Resolution: Invalid
>From the Javadoc for stripStart():
Strips any of a *set* of characters from the start of a String.
It treats the "Tag-" as the set of characters 'T' 'a' 'g' '-' and removes any
it finds from the start of the the string. 'T' appears twice, so is removed
both times.
> StringUtils.stripStart strips out too many characters
> ------------------------------------------------------
>
> Key: LANG-811
> URL: https://issues.apache.org/jira/browse/LANG-811
> Project: Commons Lang
> Issue Type: Bug
> Components: lang.*
> Affects Versions: 2.5, 2.6, 3.0, 3.1
> Environment: N/A
> Reporter: Chris Kelly
> Labels: api-change
>
> I have a String "Tag-TransactionId" for which I want to remove the leading
> "Tag-" leaving only "TransactionId". I thought I could use
> StringUtils.stripStart for this but when I do I get the string "ransactionId"
> instead.
> Below is a short method indicating the issue.
> public static void main(String[] args) {
>
> String key = "Tag-TransactionId";
> String keyWithoutTag = StringUtils.stripStart(key, "Tag-");
>
> String expected = "TransactionId";
> System.out.println("Expected: " + expected + " but got: " +
> keyWithoutTag);
>
> }
> I have tried repeating test on commons-lang from 2.5 upwards to the latest
> release all with the same behaviour. It looks like if the string to be
> removed has characters similar to the remaining string, the stripStart
> methods works incorrectly. It seems to be a case problem as well. If I use
> "Tag-transactionId" with stripStart it successfully returns "transactionId"
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira