Почему бы просто не разделить на -
?
str = "51.5261658-0.0810102"
values = str.split("-")
lat = values[0]
lon = values[1]
Здесь мы отрезаем первые 10 символов
str = "51.5261658-0.0810102"
#remove the - if it's there
str.gsub!("-","")
lat = str.slice!(0..9)
lon = str