2012-10-20 8 views
4

어떻게 접근해야할지 모르겠다는 까다로운 질문을 제시합니다. 하지만 컨트리 두 개의 NSString이 유사한 지 확인하십시오.

  • 컨트리 이름
  • 플러그 크기에만210 개국이있다/사실 : 그래서, 나는 두 개의 개체가 포함 된 사전을 포함하는 PLIST를 공식화했다.

    그리고 사실이 있거나없는 많은 국가의 목록을 검색 할 수있게되었습니다. 그러나 여기에 내 문제가있다. 나는 Geonames라는 웹 서비스를 사용하고 있으며 사용자는 검색 바 디스플레이 컨트롤러를 사용하여 국가를 검색 할 수 있으며 플러그 크기와 쌍을 이루는이 plist 국가 이름은 실제로 위키 피 디아 문서에서 가져온 것이다.

    Geonames와 위키 피 디아에서 온 내 plist의 국가 이름은 약간 다른데 어쩌면 여분의 공백, 여분의 대시, 여분의 글자가 붙어있을 수 있습니다. 이 때문에 나는 geoname 국가 문자열이 plist에있는 문자열과 매우 비슷한지보고 싶습니다.

    이렇게 정확하지 않으면 compare: 메서드가 작동 할 수 있으므로이 값은 isEqualToString:이 아니므로?

    어떻게 접근 할 수 있습니까?

    Geoname 반환 (아닌 실제 국가 그냥 예) : 예를 들면 다음과 같습니다

    • Yiting

    그러나 PLIST는 반환 할 수 있습니다

  • Yitting을

    그래서 1 개의 추가 't'가 있지만 다른 circ이 있습니다. 상황. 나는 이것들을 정확하게, 또는 적어도 유사하게 비교하기를 원합니다. 그래서 그것들을 일치라고 생각할 수 있습니다.

    나를 안내 할 수있는 자습서, 리소스, 프로젝트 등이 있습니까?

    감사합니다. 안녕!

+1

당신이 찾고있는 것은 [대략적인 문자열 일치] (http://en.wikipedia.org/wiki/Approximate_string_matching) 일명입니다. 퍼지 검색. – DrummerB

답변

5

Soundex 알고리즘이 같은 경우에 유용하다.

나는 github에서 sample implementation을 발견했습니다.

+0

고마워요. 이것 좀 봐봐. – MCKapur

+0

이거 멋지다! 그러나, 그것을 더 강렬하게 만드는 방법이있다, 그것은 일한다. ... 예를 들면 그것은 미국이 영국과 유사하다는 것을 보여준다. .. 그러나 나는 그것을 더 정확하고 심지어 더 유사하게 원한다. ... 코드를 잘 보지 못했지만 어떻게 알았습니까? – MCKapur

+1

Soundex는 매우 간단하며 처음 몇 글자 만 봅니다. 원한다면 더 많은 텍스트를 볼 수 있습니다. 또한 위의 주석에서 언급 한 [대략적인 문자열 일치] (http://en.wikipedia.org/wiki/Approximate_string_matching) 링크를 살펴보십시오. 시도 할 알고리즘이 많이 있습니다. – rmaddy

2

문자열 근사 일치 알고리즘을 구현해야합니다. 이러한 알고리즘 중 가장 널리 사용되는 알고리즘 중 하나는 Levenshtein distance이며 여러 알고리즘 중 하나 인 Edit distance입니다. 거리는 문자열 A를 문자열 B로 변환하는 데 필요한 편집 작업의 수로 계산됩니다. 문자 삽입, 삭제 또는 변경은 하나의 편집 작업으로 계산됩니다. 문자열이 가까울수록 편집 거리가 짧아집니다. 페어 와이즈 편집 거리를 계산하고 가장 작은 것을 찾아 일치를 식별 할 수 있습니다.

2

당신은 this post about auto update/complete 유용하게 사용할 수 :

내가 테스트 한 귀하의 UIViewController 클래스의 UITextViewDelegate 프로토콜을 준수하고 메시지 응용 프로그램에서 찾을 것과 유사한 결과를 생성합니다 잘하면서 UITextView의 작품. UITextFieldUITextFieldDelegate도 확인하지 않았습니다.

Autocomplete/Autocorrect

+0

나는 그것을 ..... 이백 개국을 의심 .... – MCKapur

+0

고마워요. 이걸 확인하고 다시 연락하십시오. – MCKapur

관련 문제