Iphone 从响应字符串获取子字符串

Iphone 从响应字符串获取子字符串,iphone,ios,nsstring,Iphone,Ios,Nsstring,我需要从字符串中获取子字符串code的值(X2.31) NSString *str = @"SHMU=\"\" CODE=\"X2.31\" XTN=\"; 我怎样才能得到那个特定的子字符串呢?这只是你发布的str的特定子字符串。 NSString *strOrg = [NSString stringWithFormat:@"%@",@"SHMU=\"\" CODE=\"X2.31\" XTN=\""] ; NSString *strLeft = [NSString stringWithFo

我需要从字符串中获取子字符串
code
的值(
X2.31

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

我怎样才能得到那个特定的子字符串呢?

这只是你发布的str特定子字符串。
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;
}
您的号码后面必须跟第一个X

float f=[[str componentsSeparatedByString:@"X"][1] floatValue];
试试下面这个

  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”

您可以使用
NSScanner
NSRegularExpression
它是否始终采用这种格式,并且数字前面有X?谢谢。。。。。我需要从字符串CODE=is中获取子字符串CODE的值(X2.31),它位于这个字符串NSString*str=@“SHMU=\”\“CODE=\“X2.31\”XTN=\LHNU=\“\”CODE=\“Z2.32\”XTN=\GHMU=\“\”CODE=\“L2.3\”XTN=\”;我怎样才能得到那个特殊的子字符串?你能再给我一次你得到的字符串吗?请在你的问题中编辑它以清晰明了或标记为注释