Regexp.match(string) will return you a MatchData object, which is not
just the match: It can be accessed as an Array. So:
sub[0] returns the entire matched string
sub[1], sub[2], ... return the values of the matched back references
(the ones between parentheses).

sub[1] is therefore the thing you want to use. No need to use to_s.



On 22 sep, 14:20, jef <[EMAIL PROTECTED]> wrote:
> hi
>
> /.*<coordinates>(.*)<\/coordinates>.*/ The reg exp you gave works
> fine. I tested it with rubular
>
> probleme I can retrieve the substring I always get the whole string.
>
> Here is what i did:
>
> irb(main):001:0> st="<Point><coordinates>-0.954850,46.436960,0</
> coordinates></Point>"
> => "<Point><coordinates>-0.954850,46.436960,0</coordinates></Point>"
> irb(main):002:0> sub=/.*<coordinates>(.*)<\/coordinates>.*/.match(st)
> => #<MatchData:0x7f2040045fd0>
> irb(main):003:0> sub.inspect
> => "#<MatchData:0x7f2040045fd0>"
> irb(main):004:0> sub.to_s
> => "<Point><coordinates>-0.954850,46.436960,0</coordinates></Point>"
> irb(main):005:0> sub.string
> => "<Point><coordinates>-0.954850,46.436960,0</coordinates></Point>"
> irb(main):006:0> st.match(/.*<coordinates>(.*)<\/coordinates>.*/)
> => #<MatchData:0x7f2040019fc0>
> irb(main):007:0> st.match(/.*<coordinates>(.*)<\/coordinates>.*/).to_s
> => "<Point><coordinates>-0.954850,46.436960,0</coordinates></Point>"
>
> thank you for your help
>
> :
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to