Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在NSString中查找twitter句柄_Iphone_Objective C_Ios_Xcode - Fatal编程技术网

Iphone 如何在NSString中查找twitter句柄

Iphone 如何在NSString中查找twitter句柄,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,如果我有以下几点: NSString *tweet = @"Shoutout to @somebody and @somebodyElse for your help on this one #shoutouts"; 我将如何找到twitter句柄的范围(例如@someone) 我想让它们在我的属性字符串中加粗,这是下一步 如果你能帮我找到#散列标签,我会给你加分,但我假设它的算法是一样的。是你的朋友。使用NSRegularExpression类 而不是尝试使用这个在线工具来构建正则表达

如果我有以下几点:

NSString *tweet = @"Shoutout to @somebody and @somebodyElse for your help on this one   #shoutouts";
我将如何找到twitter句柄的范围(例如@someone)

我想让它们在我的属性字符串中加粗,这是下一步


如果你能帮我找到#散列标签,我会给你加分,但我假设它的算法是一样的。

是你的朋友。

使用
NSRegularExpression

而不是尝试使用这个在线工具来构建正则表达式

我试过这个,看起来你可以做一个好的

示例代码-未测试

NSString *yourString = @"Shoutout to @somebody and @somebodyElse for your help on this one   #shoutouts";
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression         
    regularExpressionWithPattern:@"\@\S+|#\S+"
    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
}];
关于在线测试工具


祝你好运

谢谢你的详细回答!我欠你一杯啤酒!哦,你也是从墨尔本来的!我现在想喝啤酒的希望更高了,还记得我的猫头鹰照片吗,我们可能会在周五晚上在斯旺斯顿的某个地方碰面!而且我总是缺钱,所以这将是一个伟大的待遇!干杯