使用Objective C中的NSRegularExpression从字符串中获取键和值

时间:2019-01-30 11:42:26

标签: ios objective-c nsstring nsregularexpression

下面是我从Qrcode获得的字符串:

  

地址:事件:-研讨会,日期和时间:-2018年4月4日-8月2:03 PM   2018年17月17日-凌晨1:00,订单号:-201807,活动地点:-浦那,   印度马哈拉施特拉邦

如何在目标C中获取订单ID:-201807 ?在此之前,我的字符串中如何检查订单ID?我之前的问题已删除,因为我没有添加代码,但是,这是我已实现的代码:

if ([barcode.getBarcodeType isEqualToString:@"org.iso.QRCode"]) {
    NSLog(@"Address : %@",[barcode getBarcodeData]);
    NSString *searchedString = [barcode getBarcodeData];

    NSData* data = [searchedString dataUsingEncoding:NSUTF8StringEncoding];
    NSString *stringFromFile = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
    NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:@"Order Id :-" options:0 error:nil];

    long n = [regex numberOfMatchesInString:stringFromFile options:0 range:NSMakeRange(0, [stringFromFile length])];

    NSLog (@"Number of the match: %ld", n);

    if (n> 0) {
        NSArray *matches = [regex matchesInString:stringFromFile options:0 range:NSMakeRange(0, [stringFromFile length])];

        for (NSTextCheckingResult *match in matches)
        {
            NSString *matchText = [stringFromFile substringWithRange:[match range]];
            NSLog(@"Found String:%@\n", matchText);
        }
    }
    else
        NSLog(@"No match found in file %@", searchedString);
}  

在上面的代码中,我得到订单ID:-,但我需要带有值的订单ID。

谢谢。

0 个答案:

没有答案