Jetski5822
asked on
Obtaining Values in a string
Hi All,
This is such a silly question, but how would i obtain the two values lat and lang in the string below, im looking at the two lat and lang values in center.
viewport: {center: {lat: 51.381443,lng: -2.357483},span: {lat: 0.089989,lng: 0.144182},
Thanks
Nick
This is such a silly question, but how would i obtain the two values lat and lang in the string below, im looking at the two lat and lang values in center.
viewport: {center: {lat: 51.381443,lng: -2.357483},span: {lat: 0.089989,lng: 0.144182},
Thanks
Nick
I would use regular expressions to parse the results out of the string.
ASKER
I have been trying but i jsut dont understand Regex very well, any ideas?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
The old fashioned way...
String input = "viewport: {center: {lat: 51.381443,lng: -2.357483},span: {lat: 0.089989,lng: 0.144182},";
decimal lat = 0;
decimal lng = 0;
int center = input.IndexOf("center:");
int leftBrace = input.IndexOf("{", center);
int rightBrace = input.IndexOf("}", center);
String data = input.Substring(leftBrace + 1, rightBrace - leftBrace - 1);
String[] values = data.Split(",".ToCharArray ());
String[] decimalValue = values[0].Split(":".ToChar Array());
lat = decimal.Parse(decimalValue [1]);
decimalValue = values[1].Split(":".ToChar Array());
lng = decimal.Parse(decimalValue [1]);
MessageBox.Show(lat.ToStri ng() + Environment.NewLine + lng.ToString());
String input = "viewport: {center: {lat: 51.381443,lng: -2.357483},span: {lat: 0.089989,lng: 0.144182},";
decimal lat = 0;
decimal lng = 0;
int center = input.IndexOf("center:");
int leftBrace = input.IndexOf("{", center);
int rightBrace = input.IndexOf("}", center);
String data = input.Substring(leftBrace + 1, rightBrace - leftBrace - 1);
String[] values = data.Split(",".ToCharArray
String[] decimalValue = values[0].Split(":".ToChar
lat = decimal.Parse(decimalValue
decimalValue = values[1].Split(":".ToChar
lng = decimal.Parse(decimalValue
MessageBox.Show(lat.ToStri
ASKER
Awsome guys, thanks alot.. i changed it slightly.. as its much quicker now.
Regex regVal = new Regex(@"center: {lat: ([-0-9.]*),lng: ([-0-9.]*)},", RegexOptions.IgnoreCase|Re gexOptions .Compiled) ;
Many thanks Nick
Regex regVal = new Regex(@"center: {lat: ([-0-9.]*),lng: ([-0-9.]*)},", RegexOptions.IgnoreCase|Re
Many thanks Nick