우리는 작업을 하면서 원하는 인덱스의 값을 찾고 싶을 때가 있다. 예를 들면 path중에서 파일명의 위치를 알고 싶다거나, 문자열에서 원하는 단어의 위치를 찾고 싶을 때 사용할 수 있을 것이다.
let fruit = "apple, banana, orange"
fruit.indexOf("apple") //0
fruit.indexOf("banana") //7
이렇게 index의 위치를 확인 할수 있고 substr
이나 substring
함수를 사용하여 원하는 부분만 가져올 수 있을 것이다.
중복된 단어들이 있을 때 indexOf()
는 해당 단어들 중 가장 처음의 것을 찾아낸다. 근데 우리는 가장 마지막에 있는 단어들을 찾고 싶을 때가 있다. 예를들면 파일의 directory만 찾아내는 경우!
let filepath = "/this/is/test/test"
//indexOf() 함수를 사용한 후에 디렉토리만 찾고자 한다면
filepath.substring(0, filepath.indexOf("test")) // "this/is/" 라는 값이 나올 것이다.
이러면 우리가 원하는 directory가 아니다.. 이럴 때 사용하는 것이 lastIndexOf()
이다.
이 함수를 사용하면 맨 해당 단어들 중 마지막 index를 반환한다.
let filepath = "/this/is/test/test"
//indexOf() 함수를 사용한 후에 디렉토리만 찾고자 한다면
filepath.substring(0, filepath.lastIndexOf("test")) // "this/is/test" 라는 값이 나올 것이다.
이렇게 사용해 볼 수 있다.
하지만 저런 /
패턴이 있는 경우는 정규표현식을 통해 걸러 낼수 있다. 그건 나중에 알아보자.
Of course!