Hi, again, all,
Ingo did create the most robust solution. When you encased it into a
function, you appear to have forgotten to change 'fdata to 'text.
From: "P-O Yliniemi"
> Hi,
>
> Thanks for the solutions to this problem. I finally decided to use and
> extend Ingo's solution (but I already had a version that works based
on
> the Scott's example) because it didn't accept 'May 1a 20ab' as the
date,
> and because I already had need for a block with the abbreviated month
> names.
>
> Thanks to Joel for the explanation why my initial attempts failed, and
> to Graham for the first attempt to solve the problem (which should
have
> succeeded with a little more experimenting).
>
> Changes: made into a function which returns a numerical date format of
> yy(yy)-mm-dd, or 'none' if no date in file.
>
> ---
> extract-date: func [
> {Extract the first occurrance of a date [mmm-d(d)-yy(yy)] in a
string}
> text [string!] {The string to extract the date from}
> /local space digit month day year date-rule m d y
> ][
> space: [ thru " " ]
> digit: charset [#"0" - #"9"]
> month: [ "jan" | "feb" | "mar" | "apr" | "may" | "jun" | "jul" |
"aug" |
> "sep" | "oct" | "nov" | "dec" ]
> day: [ 1 2 digit ]
> year: [ 2 4 digit ]
> date-rule: [ copy m month space copy d day space copy y year ]
>
> either parse/all fdata [ any [ date-rule to end | thru " " ]] [
> m: to-string (index? find month m) + 1 / 2
> if 2 > length? m [insert m "0"]
> if 2 > length? d [insert d "0"]
> rejoin [y "-" m "-" d]
> ; date: to-date rejoin [y "-" m "-" d]
> ][
> none
> ]
> ]
> ---
>
> /PeO
>
> --
> To unsubscribe from this list, please send an email to
> [EMAIL PROTECTED] with "unsubscribe" in the
> subject, without the quotes.
>
--
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the
subject, without the quotes.