在字符串中查找8位数字符串 - 目标C.

时间:2013-07-03 14:47:46

标签: ios objective-c

所以我有一个字符串来自OCR库,如下所示:

ALLee;YIeiqm Y E JOHNSON-TEST g jammima g 02345678 8;;Y_(____. g GHJ- 444 4333333333 * BAKERY -- Scones p ii

我想搜索此字符串并找到“02345678”部分。这个字符串可以是任何字符串,但它总是8个字符长,并且所有字符都在一起。如何搜索字符串以查找第一次出现的8个字符的字符串,其中的空格或字符不在A到Z和0到9的范围内?

谢谢!

亚当

1 个答案:

答案 0 :(得分:7)

NSString *yourString = @"ALLee;YIeiqm Y E JOHNSON-TEST g jammima g 02345678 8;;Y_(____. g GHJ- 444 4333333333 * BAKERY -- Scones p ii";
NSRegularExpression *regex = [NSRegularExpression         
    regularExpressionWithPattern:@"[A-Za-z0-9]{8}"
    options:NSRegularExpressionCaseInsensitive
    error:&error];
[regex enumerateMatchesInString:yourString options:0 range:NSMakeRange(0, [yourString length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){
    // your code to handle matches here
}];

(代码无耻地从这个SO answer中删除。)