Function Friday – String IndexOf의

이번 주 #FunctionFriday에서는 문자열 함수 3개를 더 다루겠습니다. 이 그룹은 indexOf, lastIndexOf 및 nthIndexOf 문자열 내의 특정 텍스트 블록 검색과 관련이 있습니다.

이 세 가지 기능은 모두 거의 같은 방식으로 작동합니다. 검색 중인 텍스트와 검색 중인 텍스트를 전달하면 일치 항목을 찾았는지 여부를 알려줍니다. 기본 함수인 indexOf부터 시작하겠습니다.

indexOf



indexOf의 패턴은 매우 간단합니다.

indexOf('<textYouAreSearchingFor>', '<textYouAreSearchingIn>')


함수가 찾고 있는 텍스트를 찾으면 찾은 첫 번째 일치 항목의 위치(0부터 시작함을 기억하십시오)를 반환합니다. 일치하는 항목이 두 개 이상 있는지 알려주지 않습니다. 첫 번째 것에만 관심이 있습니다. 일치하는 항목을 찾지 못하면 -1 값을 반환합니다.

예로서:

indexOf('Frank', 'Hello there, Frank. How are you doing, Frank?')


"Frank"가 처음 언급된 위치인 13 값을 반환합니다.

lastIndexOf



이것은 끝에서 시작하여 앞쪽으로 작동한다는 점을 제외하면 indexOf 함수와 정확히 동일하게 작동합니다. 패턴은 다음과 같습니다.

lastIndexOf('<textYouAreSearchingFor>', '<textYouAreSearchingIn>')


다시 말하지만 함수가 일치 항목을 찾으면 문자열에서 마지막 일치 항목의 위치를 ​​반환합니다. 일치하는 항목이 없으면 -1 값이 반환됩니다. 위의 예에서:

lastIndexOf('Frank', 'Hello there, Frank. How are you doing, Frank?')


마지막 "Frank"의 위치인 39 값을 반환합니다.

nthIndexOf



이 함수는 다른 두 함수와 유사하게 작동하지만 함수 호출에서 세 번째 매개 변수를 사용합니다.

nthIndexOf('<textToSearchFor>', '<textToSearchIn>', '<occurence>')


발생 값은 검색 중인 문자열의 인스턴스입니다. 예를 들어 값의 두 번째 발생을 원하면 2를 전달합니다. 다음 예와 같습니다.

nthIndexOf('the', 'the plain of the north is the coldest of them all', 2)


값 13을 반환합니다.

nthIndexOf('the', 'the plain of the north is the coldest of them all', 3)


값 26을 반환합니다.

이전과 마찬가지로 일치하는 항목이 없으면 -1 값이 반환됩니다.

빈 매개변수



검색 중인 텍스트 또는 검색 중인 텍스트가 비어 있으면 어떻게 됩니까?

두 매개 변수가 모두 비어 있으면 이상하게도 빈 문자열 내에서 빈 문자열을 찾을 수 있기 때문에 0이 반환됩니다.

검색 중인 문자열만 비어 있으면 값을 찾을 수 없으므로 -1을 반환합니다.

검색 중인 문자열만 비어 있는 경우 상황에 따라 다릅니다.
  • indexOf가 0을 반환함
  • lastIndexOf는 "검색할 문자열의 길이 – 1"값을 반환합니다. 이상하지만 이것이 반환되는 값입니다
  • .
  • nthIndex도 0을 반환합니다
  • .

    결론



    다른 블록 내에서 텍스트 블록을 검색하는 경우 매우 간단합니다. 물론 검색하는 블록이 비어 있는 경우가 아니라면 말입니다. 그러면 이상한 결과를 얻을 수 있습니다. 논리에서 해당 시나리오를 설명하는 한 문제가 없어야 합니다. 행복한 사냥!

    게시물Function Friday – The String IndexOf’sBarret Codes에 처음 등장했습니다.

    좋은 웹페이지 즐겨찾기