- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在使用 NSDataDetectors 来查找链接:
-(void)setBodyText
{
NSString* labelText = [[message valueForKey:@"body"]gtm_stringByUnescapingFromHTML];
NSDataDetector *linkDetector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:nil];
NSArray *matches = [linkDetector matchesInString:labelText options:0 range:NSMakeRange(0, [labelText length])];
for (NSTextCheckingResult *match in matches) {
if ([match resultType] == NSTextCheckingTypeLink) {
NSURL *url = [match URL];
[bodyLabel addCustomLink:url inRange:[match range]];
NSLog(@"found URL: %@", url);
}
}
[bodyLabel setText:labelText];
[Utils alignLabelWithTop:bodyLabel];
}
如何使用 NSDataDetectors 解析 @ 例如:
"Hello @sheehan, you are cool"
我希望它能够检测到@sheehan
注意:我想使用 NSDataDetector 或正则表达式模式匹配。没有客户标签或控件等。
最佳答案
您可以使用此方法,该方法使用 NSRegularExpression 来查找 @name 匹配项。
- (NSMutableArray *)findTwitterHandle:(NSString *)text {
NSError *error = nil;
NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:@"(@[a-zA-Z0-9_]+)"
options:NSRegularExpressionCaseInsensitive
error:&error];
if (error != nil) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:[error localizedDescription]
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:@"Ok", nil];
[alert show];
[alert release];
}
NSMutableArray *siteNames = [NSMutableArray array];
NSArray *matches = [regex matchesInString:text options:0 range:NSMakeRange(0, [text length])];
for (NSTextCheckingResult *result in matches) {
[siteNames addObject:[text substringWithRange:result.range]];
}
[regex release];
return siteNames;
}
此方法将返回一个包含所有匹配字符串的 NSMutableArray。
关于iphone - 如何使用自定义 NSDataDetector 来检测某些正则表达式模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7082668/
NSDataDetector 可以解析的表达式范围是否已记录? 我们知道 NSDataDetector 可以解释很多表达式,例如“星期一晚上”。可以理解的是,NSDataDetector 类引用不想详
我正在使用 NSDataDetector 来解析文本并检索数字。这是我的代码: NSDataDetector *detector = [NSDataDetector dataDetectorWith
我正在尝试使用 NSDataDetector 来验证电话号码。它似乎没有用,这可能意味着我用错了,但我不知道怎么用。下面代码中的所有这些电话号码都应该失败,第一个全为零,其余的部分中有太多数字。然而他
一段时间以来,我一直在努力理解 NSDataDetector 类。我已经阅读了文档,但无法理解。我对 Xcode 所做的一切都告诉我有错误。 我觉得这次尝试可能是在正确的道路上。如何编写一个简单的基础
我正在使用 NSDataDetector 扫描文本中的链接,然后返回它们。我已经让它适用于常规字母表,但由于我住在一个对英语字母表进行了一些补充的国家/地区,所以我无法使用 NSDataDetecto
我正在尝试将这个有效的 Objective C 代码转换为 Swift (which is based on this Apple Documentation) -(BOOL)validatePhon
我正在尝试移植一些 Obj-c 代码,但在创建 NSDataDetector 时遇到了一些问题。 在 Objective-C 中我会这样做: NSDataDetector *linkDetector
我目前正在使用 NSDataDetectors 来查找链接: -(void)setBodyText { NSString* labelText = [[message valueForKey:
如何使用 NSDataDetector 验证电话号码。在我的项目中,任何高于 14 的文本长度也是有效的,但 NSDataDetector 不会以这种方式检测它。 我正在使用以下 stackoverf
我有一个来自服务器的字符串,我想检查它是否包含电话号码、邮件地址和电子邮件等表达式。我在电话号码和邮件地址的情况下取得了成功,但没有电子邮件。为此,我正在使用 NSDataDetector。例如 NS
假设今天是 2014 年 1 月 20 日。如果我使用 NSDataDetector 从字符串 “明天下午 4 点” 中提取日期,我将得到 2014-01-21T16:00。太好了。 但是,假设我希望
在测试 Cocoa 数据检测器时,我发现没有检测到 forecast.io,而是检测到了 www.forecast.io 和 forecast.com是。 NSDataDetector 找到的所有顶级
我正在将一项功能从 iOS 应用程序移植到 Windows 10 UWP 应用程序,该应用程序需要在字符串中检测 URL(以便我可以在 View 中将 URL 部分显示为可点击)。在 iOS 中,NS
它不是那么重要,但如果我使用像 here 这样的 NSDataDetector并将其用于网络链接,我可以显示所有带有 .com、.us 甚至 .ca 的网站,但不能显示 .io如果我使用 http:/
我试图从 UNKNOWN 格式的 NSString 中获取 NSDate,所以我编写了如下函数 -(void)dateFromString:(NSString*)string { NSErro
我正在使用 NSDataDetector 读取 NSString 日期/时间并将其交换为 NSDate。 输入 (lastRefreshStampString) 是 2014-05-05 02:54:
我正在尝试为 UITextView 中的内容创建自定义数据检测器。我希望能够做这样的事情: tv.dataDetectorTypes = UIDataDetectorTypeAll; 但我想使用基于以
有没有办法访问Cocoa的NSDataDetector来自react-native? 类似UITextView的dataDetectorTypes? 我想用它进行自动地址检测,链接到 map 。 最佳
好的,我使用 NSDataDetector 来检测这样的电话号码: func matchesFor(type: NSTextCheckingResult.CheckingType) -> [Strin
在 iOS 中有一个名为 NSDataDetector 的类,例如,让您传递一个文本,它会检测该文本是否包含邮政地址、日期、链接等内容... 就我而言,我有兴趣为 Android 寻找一个类似的工具,
我是一名优秀的程序员,十分优秀!