[ 
https://issues.apache.org/jira/browse/LANG-1827?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary D. Gregory updated LANG-1827:
----------------------------------
    Summary: DurationFormatUtils.lexx() does not support escaped single quotes 
('' should produce literal ')  (was: "DurationFormatUtils.lexx() does not 
support escaped single quotes ('' should produce literal ')")

> DurationFormatUtils.lexx() does not support escaped single quotes ('' should 
> produce literal ')
> -----------------------------------------------------------------------------------------------
>
>                 Key: LANG-1827
>                 URL: https://issues.apache.org/jira/browse/LANG-1827
>             Project: Commons Lang
>          Issue Type: Improvement
>            Reporter: Sarankumar Baskar
>            Priority: Major
>
> *DurationFormatUtils.class* uses single quotes to delimit literal text in 
> format
> patterns, e.g. "H' hours 'm' minutes'" → "2 hours 30 minutes".
>  
> However, there is currently no way to include a literal single-quote
> (apostrophe) character in the output. The class Javadoc explicitly states:
>  
> "Note: It's not currently possible to include a single-quote in a format."
>  
> and there is a TODO comment in the lexx() parser method (line 672):
>  
> // TODO: Need to handle escaping of '
>  
> java.text.SimpleDateFormat solves this by treating two consecutive single
> quotes ('') as an escaped literal apostrophe — both inside and outside
> quoted sections. DurationFormatUtils should follow the same convention
> for consistency with the JDK and user expectations.
>  
> {*}Current behavior{*}:
> Format: "H' o''clock'"
> Expected: "2 o'clock"
> Actual: "2 oclock" (apostrophe is silently dropped)
>  
> Format: "'it''s 'H' hours'"
> Expected: "it's 2 hours"
> Actual: "its 2 hours" (apostrophe is silently dropped)
>  
> Format: "H'''h'"
> Expected: "2'h"
> Actual: "2h" (apostrophe is silently dropped)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to