Link to home
Start Free TrialLog in
Avatar of Jetski5822
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
Avatar of devsolns
devsolns

I would use regular expressions to parse the results out of the string.
Avatar of Jetski5822

ASKER

I have been trying but i jsut dont understand Regex very well, any ideas?
ASKER CERTIFIED SOLUTION
Avatar of neilprice
neilprice

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Mike Tomlinson
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(":".ToCharArray());
            lat = decimal.Parse(decimalValue[1]);

            decimalValue = values[1].Split(":".ToCharArray());
            lng = decimal.Parse(decimalValue[1]);

            MessageBox.Show(lat.ToString() + Environment.NewLine + lng.ToString());
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|RegexOptions.Compiled);

Many thanks Nick