2017-12-07 1 views
0

전화 번호를 얻는 방법 문자열에서 집, 직장, 휴대폰, 팩스 등의 레이블을 지정하십시오. 예를 들어, 아래에는 문자열이 있고 숫자 중 하나는 (91) 98203 88212입니다. 그래서 그것을 탐지하는 방법.문자열에서 전화 번호 레이블 받기

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

명함 OCR 앱의 작동 방식과 동일합니다. 뒤에 어떤 논리가 전화 번호 레이블을 감지하는 데 사용됩니까?

+0

시도 정규식을 어쩌면? –

+0

@ N.Ivanov Regex는 유효한 숫자인지 여부 만 알려줍니다. 팩스, 모바일, 홈과 같은 유형이 아닙니다. – Nitesh

+2

@ Nitesh 정보를 추출하기 위해 정규 표현식을 사용합니다. 매우 일반적인 용도입니다. – Scriptable

답변

-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) 
     } 
    } 

또는 당신은 단지 문자열 값이있는 경우 다음 사용할 수 있습니다

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]) 
    }