String.Index
String.Index ๋ ์ค์ํํธ์์ ๋ฌธ์์ด ๋ด์ ํน์ ์์น๋ฅผ ๋ํ๋ด๋ ํ์
์ด๋ค.
์ค์ํํธ์ ๋ฌธ์์ด์ ์ ๋์ฝ๋ ๋ฌธ์๋ฅผ ์ง์ํ๊ธฐ ๋๋ฌธ์, ๋จ์ํ ์ ์ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ ์ ์๋ค.
๋์ , ๋ฌธ์์ด์ ๊ฐ ๋ฌธ์๋ String.Index ๋ฅผ ํตํด ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
์ฌ์ฉ๋ฒ
1.
์์ ์ธ๋ฑ์ค์ ๋ ์ธ๋ฑ์ค
โข
startIndex
โฆ
๋ฌธ์์ด์ ์ฒซ ๋ฒ์งธ ๋ฌธ์์ ์ธ๋ฑ์ค
โข
endIndex
โฆ
๋ฌธ์์ด์ ๋ง์ง๋ง ๋ฌธ์ ๋ค์์ ์ธ๋ฑ์ค
โฆ
์ด ์ธ๋ฑ์ค๋ ์ค์ ๋ฌธ์๋ฅผ ๊ฐ๋ฆฌํค์ง ์์ผ๋ฏ๋ก ์ ๊ทผํ ๋ ์ฌ์ฉํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
2.
์ธ๋ฑ์ค ๊ณ์ฐ
โข
index(_:offsetBy:)
โฆ
์์ ์ธ๋ฑ์ค์์ ํน์ offset ๋งํผ ๋จ์ด์ง ์ธ๋ฑ์ค๋ฅผ ๊ณ์ฐํ๋ค.
โข
index(before:) ์ index(after:)
โฆ
์ฃผ์ด์ง ์ธ๋ฑ์ค์ ์ด์ ๋๋ ๋ค์ ์ธ๋ฑ์ค๋ฅผ ๊ณ์ฐํ๋ค.
3.
์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ๋ฌธ์์ด ์ ๊ทผ
โข
์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด ๋ฌธ์์ด์ ํน์ ์์น์ ์ ๊ทผํ ์ ์๋ค.
์์ ์ฝ๋
import Foundation
let s = "Hello, Swift!"
let i = 7
// ์์ ์ธ๋ฑ์ค
let startIndex = s.startIndex
// ์์ ์ธ๋ฑ์ค์์ i๋งํผ ๋จ์ด์ง ์์น์ ์ธ๋ฑ์ค ๊ณ์ฐ
let targetIndex = s.index(startIndex, offsetBy: i)
print(s[targetIndex]) // S
Swift
๋ณต์ฌ