したがって、次の形式の文字列を解析しようとしています。
baz@marroon#red#blue #big@cat#dog
または、スペースで区切ることもできます:
baz @marroon #red #blue #big @cat #dog
そして、これが私が今やっている方法です:
- (void) parseTagsInComment:(NSString *) comment
{
if ([comment length] > 0){
NSArray * stringArray = [comment componentsSeparatedByString:@" "];
for (NSString * word in stringArray){
}
}
}
スペースで区切られたコンポーネントが機能していますが、スペースがない場合はどうなりますか..これらの単語をどのように繰り返すのですか? 私は正規表現を使用することを考えていました..しかし、そのような正規表現をobjective-Cで書く方法がわかりません。これらの両方のケースをカバーする正規表現のアイデアはありますか?
これが私の最初の試みです:
NSError * error;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(@|#)\\S+" options:NSRegularExpressionCaseInsensitive error:&error];
NSArray* wordArray = [regex matchesInString:comment
options:0 range:NSMakeRange(0, [comment length])];
for (NSString * word in wordArray){
}
これは機能しません..正規表現が間違っていると思います。