Objective-C:NSDataDetector 文字列からURLや電話番号を取得する

正規表現から始めなくてもすむので助かる。ありがとうObjective-C。

文字列からURLや電話番号を抽出する

クラス

NSDataDetector

メソッド

dataDetectorWithTypes:(NSTextCheckingTypes)checkingTypes

checkingTypesで指定した要素を文字列から抽出する。

よく使うと思われるcheckingTypesは以下の通り。

  • NSTextCheckingTypeDate 日時
  • NSTextCheckingTypeLink URLリンク
  • NSTextCheckingTypePhoneNumber 電話番号

サンプルコード

NSString *str = @"このエントリのURLは http://www.sirochro.com/note/objc-nsdatadetector-using/ です。電話番号 090-1234-5678";

NSDataDetector *dataDetector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink|
                                                                     NSTextCheckingTypePhoneNumber
                                                                     error:nil];

NSArray *resultArray = [dataDetector matchesInString:str
                                             options:0
                                               range:NSMakeRange(0,[str length])];

for (NSTextCheckingResult *result in resultArray)
{
    if ([result resultType] == NSTextCheckingTypeLink)
    {
        NSURL *url = [result URL];
        NSLog(@"url:%@",[url description]);
    } else if ([result resultType] == NSTextCheckingTypePhoneNumber) {
        NSString *phoneNumber = [result phoneNumber];
        NSLog(@"tel:%@",phoneNumber);
        }
}

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents