从String获取电话号码标签

时间:2017-12-07 08:38:20

标签: ios swift

如何从字符串获取电话号码标签,如家庭,工作,移动,传真等。 例如,下面是字符串,其中一个是数字,即(91)98203 88212是移动的。那么如何检测它。

Phone: (91-22) 6641 1234
Direct: (91-22) 6691 8972
Fax: (91-22) 6691 1455
Mobile: (91) 98203 88212

就像名片OCR应用程序的工作方式一样。后面用什么逻辑来检测电话号码标签?

1 个答案:

答案 0 :(得分:-1)

如果您有 CNContact 对象,那么您可以轻松获取这些内容。

for item in personContact.phoneNumbers {
        if let label = item.label{
            let localizedLabel = CNLabeledValue<NSString>.localizedString(forLabel: label)
//You will get your label here
            print(localizedLabel)
        }else{
            print(item.value.stringValue)
        }
    }

或者,如果您只有String值,则可以使用:

 let contacts = ["Phone: (91-22) 6641 1234",
    "Direct: (91-22) 6691 8972",
    "Fax: (91-22) 6691 1455",
    "Mobile: (91) 98203 88212"]
    for contact in contacts{
        let contactParts = contact.components(separatedBy: ":")
        print(contactParts[0])
    }