2011-11-22 4 views
-2

문자열이 있습니다 ... "<+36.83452988, -119.79611969> +/- 0.00m (speed -1.00 mps/course -1.00) @ 11/21/11 8:12:18 PM India Standard Time"문자열에서 값을 추출하는 방법

나는이 중 좌표를 추출하려고합니다. 어떻게 할 수 .. ..?

+1

어디에서 문자열을 얻을 수 있습니까? CLLocation에 대한 설명입니다. 그리고 CLLocation에는 각 값에 대한 속성이 있습니다. –

+0

옙 ... 이제는 뭔가 혼란 스러웠습니다. 어쨌든 도와 주셔서 감사합니다. –

답변

1

조나스은 당신의 언어로 간단한 기본적인 아이디어를 바로 바로 않았습니다. 간단하고 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); 
+0

예, 죄송합니다 ... Java 목록을보기 전에이 책이 Objective C ... 사과인지 확인하지 않았습니다. – Jonas

0

좌표는 그냥 같은 특정 문자에 문자열 기지를 얻어야한다 당신의 문자열의 첫 번째 부분 인 경우 :

String x = s.substring(s.indexOf('<')+1, s.indexOf(',')).trim(); 
String y = s.substring(s.indexOf(',')+1, s.indexOf('>')).trim(); 

이것은와 다음 사이에 < 사이의 일부를 받고, 그리고>입니다.

감사

조나스

+3

이것은 목표에서 작동하지 않습니다. c. –

관련 문제