Ios “查找并检测”@&引用;及#&引用;使用NSRegularExpression
我试图在我的文本中找到“@”和“#”符号,并使用Ios “查找并检测”@&引用;及#&引用;使用NSRegularExpression,ios,regex,nsregularexpression,Ios,Regex,Nsregularexpression,我试图在我的文本中找到“@”和“#”符号,并使用NSRegularExpression这样的符号 NSString *testString = @"This text contains @ and # signs"; NSRange stringRange = NSMakeRange(0, [testString length]); NSRegularExpression *regexTest = [[NSRegularExpression alloc] initWithPattern:@"\\
NSRegularExpression
这样的符号
NSString *testString = @"This text contains @ and # signs";
NSRange stringRange = NSMakeRange(0, [testString length]);
NSRegularExpression *regexTest = [[NSRegularExpression alloc] initWithPattern:@"\\b(@|#)\\b"];
NSRange nameRange = [regexTest rangeOfFirstMatchInString:testString options:0 range:stringRange];
当我输入NSLog
nameRange.location
时,它总是返回0。使用NSRegularExpression
进行签名的正确形式是什么?这就是我使用NSPredicate
进行签名的方式。这将告诉您当前正在编辑/键入的@提及单词。希望这有帮助
- (void)textViewDidChange:(UITextView *)textView
{
_words = [self.textView.text componentsSeparatedByString:@" "];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[cd] '@'"];
NSArray* names = [_words filteredArrayUsingPredicate:predicate];
if (_oldArray)
{
NSMutableSet* set1 = [NSMutableSet setWithArray:names];
NSMutableSet* set2 = [NSMutableSet setWithArray:_oldArray];
[set1 minusSet:set2];
if (set1.count > 0)
NSLog(@"Results %@", set1);
}
_oldArray = [[NSArray alloc] initWithArray:names];
}
很抱歉,这是复制/粘贴错误,我已修复?