Parsing strings

I’m trying to parse ical strings (not that ical strings are all that
special) but I’m trying to break them down for date calculations…

so if I have a value like this…

@events[0].recurrence_rules
=> [“FREQ=YEARLY;INTERVAL=1;UNTIL=99991231”]

this seems so damn clumsy…

freq = “yearly” if @events[0].recurrence_rules.to_s =~ /FREQ=YEARLY/
freq = “monthly” if @events[0].recurrence_rules.to_s =~ /FREQ=MONTHLY/

and then the interval, I would really just like the numerical value…

how can I cleanly get these values because reg expressions seem so
clumsy

Craig