2

所以我有一个来自 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 范围内的空格或字符?

谢谢!

亚当

4

1 回答 1

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 答案中无耻地删减代码)。

于 2013-07-03T14:52:13.310 回答