On 28.01.2007 11:13, Josselin wrote: > I have the following string > id = "(48.88689971942316, 2.3380279541015625)" > is there any method to transform directly into an array > [48.88689971942316, 2.3380279541015625] or should extract both parts and > create the array (what I did.. but not very DRY) In this simple case you can do: >> id = "(48.88689971942316, 2.3380279541015625)" => "(48.88689971942316, 2.3380279541015625)" >> id.scan /\d+\.\d+/ => ["48.88689971942316", "2.3380279541015625"] >> id.scan(/\d+\.\d+/).map! {|x| x.to_f} => [48.8868997194232, 2.33802795410156] It depends on the values that can occur in the string if this is sufficient (for example, the piece above does not take care of signs also does not recognize numbers without decimals). You can find plenty solutions for matching floating point numbers in the archives of this list / newsgroup. Generally, if you get this string from some piece of external code, you want to parse it in some way to make sure it matches your expectations. Kind regards robert