티스토리 뷰

iOS

iOS ) 네이버 검색 API 사용시..<b></b>

Zedd0202 2017. 11. 14. 23:49
반응형

안녕하세요 :) Zedd입니다.

그냥 간단한...그냥 제가 어떻게 해결했는지 글 쓰려구요 :)

네이버 "지역" 검색 API로 검색하면........


....

아니 왜 <b>랑 </b>가 나오는지..(부들부들)

물론 <b>랑 </b>가 안나오는 결과도 있습니다......


아무튼 그래서..

아~~~그래~~~내가 < Swift에서 특정 문자 제거 >글을 썼었지 ㅎㅎ

해볼ㄲㅏㅎㅎ

.

.

.

는 안됩니다. componentBy에 들어갈 수 있는건, String이 아닌 Character.

 title.components(separatedBy: ["b","/","<",">"]).joined()


즉 이런식으로 해야하죠. <b>는 String이므로 저렇게 넣지 못합니다...

근데 만약 "<", ">", "/"는 괜찮다 치더라도...만약에 내가 검색한거 중에, 만약 가게이름에 b가 들어가면!?!?!?

그렇다면 굉장히 이상한 상황이 발생 할 수 있겠죠.


인터넷에는 String에서 특정한 Character를 제거하는 방법은 많은데 String에서 String을 제거하는 방법은 별로 없더라구요 :)

그렇게 발견한..방법..!

let titleResult = title.replacingOccurrences(of: "</b>", with: "").replacingOccurrences(of: "<b>", with: "")


바로 replacingOccurrences메소드를 사용하는겁니다 :)

replacingOccurrences은 지정된 String의 범위 내의 모든 대상 문자열이 지정된 다른 문자열로 대체 한 새로운 문자열을 반환합니다.


또한, 체이닝도 가능해서 굉장히 간편하다는것..!!!</b>라는 String을 ""로. 즉 아무것도 없게 만드는 것이죠.

replacingOccurrences은 String메소드죠? replacingOccurrences이 반환하는 결과 역시 String이기때문에 한번 더 replacingOccurrences을 호출 할 수 있는것입니다. 



이렇게 하고나면~~


이렇게ㅎㅎ 깔끔한 결과를 얻을 수 있게됩니다.


Q : 만약에 검색 API가 바뀌어서 저 <b>와 </b>가 사라지면 어떻게 되나요!?!?

또 <b>와 </b>안나오는 검색결과들은?


A : 상관없습니다. 만약 파라미터로 받은 String이 존재하지 않으면, 바꾸지 않아요. 그냥 넘어갈 뿐..




ㅎㅎ검색 API를 사용하시는 분들께 도움이 되었으면 좋겠습니다 :)


반응형

'iOS' 카테고리의 다른 글

iOS ) nib과 xib의 차이  (0) 2017.11.20
iOS ) 왕초보를 위한 xib 사용법  (4) 2017.11.20
iOS) Date Picker  (0) 2017.11.13
iOS ) firebase에서 value로 검색하기  (2) 2017.11.09
iOS ) Xcode 프로젝트 이름 바꾸는 방법  (7) 2017.11.08