Hi there, I''m trying to split a string using RegExp to extract a price from it. The price may or may not have a dollar sign in front of it and may or may not contain a decimal value. Below are some string examples of what the regular expression would need to handle to split out the price: Example 1: "2 starbuck''s coffees 9.99" <- price is 9.99 Example 2: "99 red baloons 175" <- price is 175 Example 3: "starbuck''s coffee $9.99" <- price is 9.99 Example 4: "starbucks coffee 9" <- price is 9 So the trouble is: a) in Example 3, I can''t count on the dollar sign being there all the time. Some instances it will, other instances it won''t and b) in the case of Example 2, there may be a number at the start of the string of indeterminate length that I want to ignore since this could represent the quantity, not the price. What would the RegExp look like that would split out the price? Thanks in advance. -A --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Johannes J. Schmidt
2008-Oct-06 20:25 UTC
Re: Regular Expression pattern matching question...
eg /(\d+\.){0,1}\d+$/ g jo Am Mittwoch, den 24.09.2008, 16:20 -0700 schrieb ressister:> Hi there, I''m trying to split a string using RegExp to extract a price > from it. The price may or may not have a dollar sign in front of it > and may or may not contain a decimal value. Below are some string > examples of what the regular expression would need to handle to split > out the price: > > Example 1: > "2 starbuck''s coffees 9.99" <- price is 9.99 > > Example 2: > "99 red baloons 175" <- price is 175 > > Example 3: > "starbuck''s coffee $9.99" <- price is 9.99 > > Example 4: > "starbucks coffee 9" <- price is 9 > > So the trouble is: a) in Example 3, I can''t count on the dollar sign > being there all the time. Some instances it will, other instances it > won''t and b) in the case of Example 2, there may be a number at the > start of the string of indeterminate length that I want to ignore > since this could represent the quantity, not the price. > > What would the RegExp look like that would split out the price? > > Thanks in advance. > -A > >--~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
you can always use http://www.rubular.com/ to test your RexExp. On Oct 6, 10:25 pm, "Johannes J. Schmidt" <d...-xIc/GT63x2dWk0Htik3J/w@public.gmane.org> wrote:> eg /(\d+\.){0,1}\d+$/ > > g jo > > Am Mittwoch, den 24.09.2008, 16:20 -0700 schrieb ressister: > > > Hi there, I''m trying to split a string using RegExp to extract a price > > from it. The price may or may not have a dollar sign in front of it > > and may or may not contain a decimal value. Below are some string > > examples of what the regular expression would need to handle to split > > out the price: > > > Example 1: > > "2 starbuck''s coffees 9.99" <- price is 9.99 > > > Example 2: > > "99 red baloons 175" <- price is 175 > > > Example 3: > > "starbuck''s coffee $9.99" <- price is 9.99 > > > Example 4: > > "starbucks coffee 9" <- price is 9 > > > So the trouble is: a) in Example 3, I can''t count on the dollar sign > > being there all the time. Some instances it will, other instances it > > won''t and b) in the case of Example 2, there may be a number at the > > start of the string of indeterminate length that I want to ignore > > since this could represent the quantity, not the price. > > > What would the RegExp look like that would split out the price? > > > Thanks in advance. > > -A--~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Johannes J. Schmidt
2008-Oct-07 09:58 UTC
Re: Regular Expression pattern matching question...
Am Montag, den 06.10.2008, 15:14 -0700 schrieb Dejan Dimic:> you can always use http://www.rubular.com/ to test your RexExp.This Website does not work correctly. g jo> > On Oct 6, 10:25 pm, "Johannes J. Schmidt" <d...-xIc/GT63x2dWk0Htik3J/w@public.gmane.org> wrote: > > eg /(\d+\.){0,1}\d+$/ > > > > g jo > > > > Am Mittwoch, den 24.09.2008, 16:20 -0700 schrieb ressister: > > > > > Hi there, I''m trying to split a string using RegExp to extract a price > > > from it. The price may or may not have a dollar sign in front of it > > > and may or may not contain a decimal value. Below are some string > > > examples of what the regular expression would need to handle to split > > > out the price: > > > > > Example 1: > > > "2 starbuck''s coffees 9.99" <- price is 9.99 > > > > > Example 2: > > > "99 red baloons 175" <- price is 175 > > > > > Example 3: > > > "starbuck''s coffee $9.99" <- price is 9.99 > > > > > Example 4: > > > "starbucks coffee 9" <- price is 9 > > > > > So the trouble is: a) in Example 3, I can''t count on the dollar sign > > > being there all the time. Some instances it will, other instances it > > > won''t and b) in the case of Example 2, there may be a number at the > > > start of the string of indeterminate length that I want to ignore > > > since this could represent the quantity, not the price. > > > > > What would the RegExp look like that would split out the price? > > > > > Thanks in advance. > > > -A > >--~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---