我有一個很難從以下字符串中提取的緯度和經度子+ 25.1870 + 055.2784/從以下字符串+ 25.1870 + 055.2784/
由於這是一個位置字符串中提取的緯度和經度子,+號可能是 - 。我正在尋找一種方法來識別+或 - 符號,並在第二個+/- 符號的開始處創建第一個字符串,並在/處創建第二個字符串。
我已經在下面發佈了我的方法。它完美的工作,但我覺得它有點複雜。
NSString *itemValue = [NSString stringWithFormat:@"%@",item.value];
NSLog(@"ITEM VALUE = %@", itemValue);
NSString *firstSign = [itemValue substringToIndex:1];
NSLog(@"FIRST SIGN = %@", firstSign);
NSString *stringExcludingFirstSign = [itemValue substringWithRange:NSMakeRange(1, itemValue.length - 1)];
NSLog(@"STRING EXCLUDING FIRST SIGN = %@", stringExcludingFirstSign);
NSString *latitudeWithoutSign;
NSScanner *scanner = [NSScanner scannerWithString:stringExcludingFirstSign];
if([stringExcludingFirstSign containsString:@"+"]){
[scanner scanUpToString:@"+" intoString:&latitudeWithoutSign];
}
else if([stringExcludingFirstSign containsString:@"-"]){
[scanner scanUpToString:@"-" intoString:&latitudeWithoutSign];
}
NSLog(@"LATITUDE WITHOUT SIGN = %@", latitudeWithoutSign);
NSString *latitude = [NSString stringWithFormat:@"%@%@", firstSign, latitudeWithoutSign];
NSLog(@"LATITUDE = %@", latitude);
NSString *longitude = [itemValue substringWithRange:NSMakeRange(scanner.scanLocation + 1, (itemValue.length - (scanner.scanLocation + 1)) - 1)];
NSLog(@"LONGITUDE = %@", longitude);
您是否嘗試過'NSScanner'? – Wain
到目前爲止你有嘗試過什麼嗎? – luk2302
我試過NSScanner,但不確定如何在第二個符號到達時停止掃描。 – user1752054