サーバーから次のような文字列を取得するたびに:
"&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;
}
}
2 つある場合はこの引数を呼び出したいのです&
が、私のコードでは error が発生しますNSLog(@"is here");
。私が時々言ったように、私は半分のメッセージを受け取ります。誰が私が間違っているのか教えてもらえますか?