2013-07-03 71 views
2

所以我有一個的問世的OCR庫,像這樣的字符串:查找字符串中的8位字符串 - 目標C

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的範圍內?

謝謝!

亞當

+5

使用正則表達式:'[A-Za-z0-9] {8}'。 – rmaddy

回答

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帶切口)。

+1

正則表達式也應包含字母。 – rmaddy

+0

@rmaddy他不是隻想要數字序列嗎? – trojanfoe

+0

閱讀問題的最後一句。 – rmaddy