代码之家  ›  专栏  ›  技术社区  ›  Crashalot

iOS:从UITextView提取检测到的数字和链接?

  •  0
  • Crashalot  · 技术社区  · 6 年前

    This question 类似的方法解决了如何检测手机内的电话号码和链接 UITextView .

    一旦检测到,是否有方法提取检测到的号码和链接?

    目标是使用 UITextView

    澄清一下,理想的工作流程是:

    1. 用户将文本输入到 .
    2. UITextView 检测数字和链接。
    3. 从文本中提取数字和链接。
    1 回复  |  直到 6 年前
        1
  •  1
  •   Dare    6 年前

    UITextView实际上只是让用户可点击链接的数据检测过程更容易实现。如果您正试图提取和处理这些数据,我可能会建议您实现它来处理您的特定用例。幸运的是,数据检测非常简单。

    let string = "www.google.com / (555) 123-4567"
    
    let types: NSTextCheckingResult.CheckingType = [.phoneNumber, .link]
    let detector = try NSDataDetector(types: types.rawValue)
    let range = NSMakeRange(0, string.count)
    detector.enumerateMatches(in: string, options: [], range: range) { result, _, _ in
       print(result)
    }
    

    Optional(<NSLinkCheckingResult: 0x6000031264c0>{0, 14}{http://www.google.com})
    Optional(<NSPhoneNumberCheckingResult: 0x600003f384b0>{17, 14}{(555) 123-4567})