Swift랑 친해지기/Swift문법정리

[Swift] String Index (문자열 인덱스)

데브킹덕 2022. 8. 18. 16:27

Swift에서 문자열 인덱스는 정수가 아님

 

왜 정수 Index를 냅두고 어려운 Index를 사용하나?

-> Unicode에 독립적인 형태로 문자열을 처리하기 때문임

 

 

특정문자열에 접근할때에는 Subscript 문법을 사용해야함

 

 

startIndex를 이용하면 첫번째 문자를 찾을 수 있음

String 자료형에 선언되어 있는 Index자료형임 (Nested Type)

비어있지 않는 문자열에서 첫번째 문자의 위치라고 설명되어 있다. 

 

 

endIndex를 이용하면 마지막 문자를 찾을수 있을까?

찾을 수는 있지만 마지막 인덱스가 아닌 마지막 다음인덱스임

따라서 문자열 인덱스가 범위를 벗어난다고 에러가남 

 

따라서 t를 출력하기 위해서는 Index before를 사용해야함

 

 

 

 

index(_, offsetBy)

2번째 인덱스 w를 구하기 

첫번째 파라미터는 String.Index인 startIndex 

두번째 파라미터는 String.IndexDistance이므로 시작인덱스와의 거리가 1

 

 

3번째 인덱스 i를 구하기 

여기서도 endIndex는 마지막 인덱스 다음에 있는 인덱스를 뜻하므로 -3거리만큼 있는 문자를 구해야 i가 나옴