每次我會從我的服務器得到一個字符串:的NSString找到符號得到了墜毀
「&abc; 123:342:431:234 & &xyz; 232:2344:433:434 & &pqr; 234:453: 534:3445 & 「
但有時我會得到
」 &pqr; 234:453:534:3445 & &abc; 123:342:431 &xyz; 232:2344:433:434 & 「
我要捨棄那些消息(不與端」 &「)例如:&abc;123:342:431
。我試過但我不知道我在哪裏犯錯誤。
這裏是我的代碼:
- (BOOL)ashCheckandsemiclonCheck:(NSString *)string {
if([string rangeOfString:@"&abc"].location != NSNotFound) {
NSLog(@"is here");
NSString *pattern = @"&abc[^&]+&";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern
options:0 error:NULL];
[regex enumerateMatchesInString:string options:0 range:NSMakeRange(0, [string length])
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
NSRange range = [result range];
matched = [string substringWithRange:range];
NSLog(@"%@", matched);
}];
NSLog(@"filtered Message :%@", matched);
int times = [[matched componentsSeparatedByString:@"&"] count] - 1;
NSLog(@"counted times :%i", times);
if (times == 2) {
return TRUE;
} else {
return FALSE;
}
} else {
return FALSE;
}
}
我想,如果我有兩個&
但在我的代碼,我得到錯誤NSLog(@"is here");
調用這個說法。正如我所說,有時我會得到一半的信息。誰能告訴我我要去哪裏?
我已經更新了我的問題,對於沒有詳細問題 – Diaaaaan
對不起,請使用'YES'和'NO'代替'TRUE'和'FALSE'; – HAS
感謝您的信息。工作真的很棒:)我懷疑「NSString * __block匹配;」我如何聲明這是一個全局變量,因爲如果我想使用外部的「匹配」字符串。我試圖聲明「NSString *匹配;」。我得到空字符串,因爲它不匹配「__block匹配」。 – Diaaaaan