如何从字符串中提取值
我有一个字符串... "<+36.83452988, -119.79611969> +/- 0.00m (speed -1.00 mps/course -1.00) @ 11/21/11 8:12:18 PM India Standard Time"
如何从字符串中提取值
我希望从中提取出坐标。如何做呢..?
乔纳斯配有简单的基本的想法没错,只是没有在您的语言。 它很简单,并以您的x和y坐标结束。
您可以实现自己乔纳斯建议与的NSString rangeOfString:
和substringWithRange:
方法,并与该行
[string stringByReplacingOccurrencesOfString:@" " withString:@""];
下面的代码后,担心空白将您的例子字符串,并将其分解成字符串和浮动值对你而言,无论你喜欢什么。
NSString * string = @"<+36.83452988, -119.79611969> +/- 0.00m (speed -1.00 mps/course -1.00) @ 11/21/11 8:12:18 PM India Standard Time>";
NSRange startX = [string rangeOfString:@"<"];
NSRange endX = [string rangeOfString:@","];
NSRange endY = [string rangeOfString:@">"];
NSRange xRange;
xRange.location = startX.location+1;
xRange.length = endX.location - startX.location -1;
NSRange yRange;
yRange.location = (xRange.length + xRange.location) + 1;
yRange.length = endY.location - yRange.location;
float x = [[string substringWithRange:xRange] floatValue];
float y = [[string substringWithRange:yRange] floatValue];
NSLog(@"xString-- %@\nyString-- %@", [string substringWithRange:xRange], [string substringWithRange:yRange]);
NSLog(@"%f, %f", x,y);
是的,对不起......在我查看Java列表之前,我没有检查这个是Objective C ...道歉。 – Jonas
如果坐标是你的字符串的第一部分,你应该控制一下某些字符子基地,这样的:
String x = s.substring(s.indexOf('<')+1, s.indexOf(',')).trim();
String y = s.substring(s.indexOf(',')+1, s.indexOf('>')).trim();
这是获得部分<之间和之间,然后,和>。
问候
乔纳斯
这在objective-c中不起作用。 –
从哪里得到字符串?这是一个CLLocation的描述。而CLLocation有每个值 –
yup的属性...我现在对某些东西感到困惑,现在我已经整理出来了......感谢您的帮助。 –