기본 형식
변수명[변수명.인덱스]
Swift에서 String 타입에서 특정 인덱스에 접근하기 위해서는 다른 Array와 같이 arr[i] 의 방식으로 사용할 수 없다.
Swift에서 문자열을 인코딩하는 방식에 따른 특이점인데,
결과적으로 String의 각 문자열마다 저장 용량이 달라 String을 호출한 후에야 인덱스를 구할 수 있기 때문이라고 한다.
따라서 직접적으로 숫자를 입력하는 대신, 인덱스 구문을 통해야 한다.
키워드
startIndex
endIndex
index(after: 인덱스)
index(before: 인덱스)
index(인덱스, offsetBy: Int)
greeting.firstIndex(of: "문자")
기본 예제
// 변수 선언하기
var greeting = "Guten Tag!"
// 첫 번째 글자 호출하기 = G
greeting[greeting.startIndex]
// 두 번째 글자 호출하기 = 첫 번째의 다음 글자 = u
greeting[greeting.index(after: greeting.startIndex)]
// 마지막 글자 호출하기 = 마지막 +1의 직전 글자 = !
greeting[greeting.index(before: greeting.endIndex)]
// 7번째 글자 호출하기 = a
greeting[greeting.index(greeting.startIndex, offsetBy: 7)]
// 첫 번째 글자로부터 7번째 인덱스를 구한다. → 해당 인덱스를 substring으로 사용해 글자를 호출한다.
심화 예제
특정 문자(",")가 시작되는 위치에 접근하기
// 변수 선언하기
greeting = "Hello, world!"
// 인덱스 변수 선언하기
let index = greeting.firstIndex(of: ",") ?? greeting.endIndex
// greeting에서 처음으로 등장하는 ","의 인덱스를 구한다. → greeting에 ","가 등장하지 않을 시 디폴트로 마지막 인덱스를 호출한다.
// ","가 처음 등장하는 위치까지의 문자 구하기 = Hello
let beginning = greeting[..<index]
// 인덱스를 substring으로 사용해 글자를 호출한다.
다음에서 발췌
The Swift Programming Language (Swift 5.7)
Apple Inc.
https://books.apple.com/kr/book/the-swift-programming-language-swift-5-7/id881256329
이 자료는 저작권에 의해 보호됩니다.