Added support for escaping within parsing formats #290
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It is currently impossible to parse dates which contain data matching an internal pattern used by arrow.
For example,
Thursday, December 10, 2015 at 5:09pm -0700
. A format string for arrow to parse this would be,MMMM D, YYYY at h:mma Z
.Unfortunately, this doesn't work because the
a
inat
gets interpreted as the marker for am/pm parsing in accordance with the documentation here.This pull request offers a workaround by escaping anything that is square bracketed within a format and interpreting it as only text.
This fixes the above pattern:
MMMM D, YYYY [at] h:mma Z
Arrow can now successfully parse the expression:
The only caveat as that
#
must be escaped in all parsing formats with[#]
, as it's used as the replacement character when the expression is being built.