[英]NSDataDetector to detect a name in a string
我一直在努力理解NSDataDetector
類。 我已經閱讀了文檔,但無法理解。 我所做的一切Xcode都告訴我有一個錯誤。
我覺得這次嘗試可能會走上正確的道路。 如何編寫一個簡單的基礎程序來查找字符串中的名稱?
NSError *error = nil;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeAddress error:&error];
NSString *string = @"(555) 555-5555 / Nick";
NSArray *matches = [detector matchesInString:string
options:0
range:NSMakeRange(0, [string length])];
for (NSTextCheckingResult *match in matches) {
if([match addressComponents] // contains NSTextCheckingNameKey){
// do this
}
}
您的代碼使用一個尋找地址的數據檢測器。 您的字符串中沒有地址。 因此,數據檢測器找不到任何東西。
沒有用於查找名稱的數據檢測器。
如果您知道字符串的結構,請使用它。 例如,如果您可以像示例中那樣保證名稱前始終有“ space-slash-space”,那么請搜索該名稱,然后將其作為名稱。
如果您不知道字符串的結構,則該問題幾乎無法解決。
NSDataDetector不支持名稱檢測。 為此 ,請使用NSLinguisticTagger 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.