2013-03-21 3 views
0

Мне нужно получить подстроку значение CODE «s (X2.31) из строкиПолучение подстроки из ответа NSString

NSString *str = @"SHMU=\"\" CODE=\"X2.31\" XTN=\"; 

Как я могу получить эту конкретную подстроку?

+4

Вы можете использовать '' NSScanner' или NSRegularExpression ' – borrrden

+0

всегда ли в этом формате, а число предшествует X? –

ответ

0
NSString *strOrg = [NSString stringWithFormat:@"%@",@"SHMU=\"\" CODE=\"X2.31\" XTN=\""] ; 

NSString *strLeft = [NSString stringWithFormat:@"%@",@"SHMU=\"\" CODE=\""] ; 
NSString *strRight = [NSString stringWithFormat:@"%@",@"\" XTN=\""] ; 

NSLog(@"%@", [self getDataBetweenString:strOrg LeftString:strLeft RightString:strRight LeftOffset:13]); 

- (NSString *)getDataBetweenString:(NSString *)orgString LeftString:(NSString *)leftString RightString:(NSString *)rightString LeftOffset:(NSInteger)leftPos; 
{ 
    NSInteger left, right; 
    NSString *foundData; 
    NSScanner *scanner=[NSScanner scannerWithString:orgString]; 
    [scanner scanUpToString:leftString intoString: nil]; 
    left = [scanner scanLocation]; 
    [scanner setScanLocation:left + leftPos]; 
    [scanner scanUpToString:rightString intoString: nil]; 
    right = [scanner scanLocation] + 1; 
    left += leftPos; 
    foundData = [orgString substringWithRange: NSMakeRange(left, (right - left) - 1)];   return foundData; 
} 
0

Это только специфический к ул вас в курсе. Ваш номер должен следовать Первый X.

float f=[[str componentsSeparatedByString:@"X"][1] floatValue]; 
1

Попробуйте ниже одного

NSString *str = @"SHMU=\"\" CODE=\"X2.31\" XTN=\""; 

NSRange range = [str rangeOfString:@"CODE="]; 
NSString *substring = [[str substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
NSArray *str1 = [substring componentsSeparatedByString:@" "]; 
NSLog(@"the sub %@",[[str1 objectAtIndex:0] stringByTrimmingCharactersInSet[NSCharacterSet whitespaceCharacterSet]]); 

И строка была "X2.31"

+0

Спасибо ..... Мне нужно получить подстроку значение CODE (X2.31) из строки CODE = входит в эту строку NSString * str = @ "SHMU = \" \ "CODE = \" X2.31 \ "XTN = \ LHNU = \" \ "CODE = \" Z2.32 \ "XTN = \ GHMU = \" \ "CODE = \" L2.3 \ "XTN = \"; Как я могу получить эту конкретную подстроку? – VishnuVardhan

+0

Можете ли вы дать мне ват-строку, чтобы получить ее еще раз, отредактируйте ее в своем вопросе для ясности или отметьте как комментарий –

Смежные вопросы