Swift & iOS

[Swift & iOS] String Index 관련

jkkooooooo 2021. 7. 15. 15:19
반응형

Swift에서 String 자료형의 인덱스를 어떻게 사용하는지 알아보자

 

let str = "Swift"

str 상수의 첫 번째 인덱스는 뭘까, 보통 인덱스 하면 0부터 시작하는 정수를 생각하는데 swift에서 문자열 인덱스는 정수가 아니다.

 

다른 문자열인덱스타입을 지원하다. 첫번째 인덱스는 startIndex 로 확인 가능하다.

startIndex가 있으면 반대로 마지막 값을 가져오는 endIndex도 존재한다.

하지만 사용하면 에러가 난다. 

그 이유는 endIndex는 문자열의 마지막 인덱스의 다음 값을 가져오기 때문이다.

그렇다면 endIndex의 이전값을 가져오려면 str.index의 before을 사용 하여 가져오면 된다.

 

이렇게 하면 endIndex의 이전 값을 가져와서 정상적으로 문자열의 마지막 값을 추출할 수 있게된다.

before과 after도 있는데 after은 before과 반대로 다음 값을 가져오게 되며 

startIndex를 after하게 되면 "w"를 가져오게 된다.

 

마지막으로 원하는 인덱스를 넣어 가져오는 방법은 str.index의 offsetBy를 활용 하는 것이다.

첫번째 인자의 startIndex나 endIndex 값을 넣고 offsetBy의 정수를 넣으면 된다.

endIndex의 경우 양수를 넣게 되면 에러가 발생 할 것이다. 범위를 벗어난 값을 찾게 되기 때문이며 

이럴땐 음수를 넣어야 하는걸 잊지말자. 

반응형