Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- SWIFT
- 프로그래머스
- 데이터타입함수
- 동적언어
- 17681
- Server-Side-Rendering
- DelayInput
- reactnavigation
- 중첩함수
- lineending
- replacingOccurrences
- 리액트네이티브
- beforePopState
- reactnative android
- switch구문
- 스위프트
- ReactNative
- 함수형프로그래밍
- 비반환함수
- 약타입언어
- 나를부르는숲
- 72410
- textinput
- multiline
- 약타입
- 옵셔널
- ios
- next.js
- JavaScript
- client-side-rendering
Archives
- Today
- Total
으니의 개발로그
[Swift] 인덱스로 문자열의 글자 가져오기 본문
인덱스로 문자열의 글자 가져오기
처음에 나는 python 에 익숙해져 있어 문자열을 글자를 가져오기 위해 처음에는 아래와 같은 코드를 생각했다.
let name = "seonho"
let str = name[2]
하지만 swift 에서는 인덱스로 문자를 가져올 수 없다. (Array 로 바꾸면 위와 같은 방법으로 가져올 수 있긴 하다)
String.Index
그러면 스위프트에서는 문자열에서 인덱스를 어떻게 가져올 수 있을까?
처음과 마지막 인덱스에 접근하려고 한다면 startIndex 와 endIndex 로 접근할 수 있다. 하지만 여기서 주의할 것은 endIndex 는 마지막 인덱스 값을 나타내는게 아니라 문자열의 길이를 나타낸다는 것이다.
let startStr = name[name.startIndex]
/* s */
let endStr = name[name.index(before: name.endIndex)]
/* o */
중간에 인덱스에 접근하기 위해서는 startIndex 나 endIndex 를 Index 와 함께 잘 조합하면 접근할 수 있다.
let name = "seonho"
let str = name[name.index(name.startIndex, offsetBy: 2)]
/* o */
let str2 = name[name.index(name.endIndex, offsetBy: -2)]
/* h */
위의 코드에서 name.index(name.startIndex, offsetBy: 2) 가 인덱스 2와 같은 의미라고 할 수 있다.
'Swift > with. APS' 카테고리의 다른 글
| [Swift] 진수 변환 (2) | 2021.02.13 |
|---|---|
| [Swift] 앞뒤 공백 제거하기 / 앞뒤의 특정 문자 제거하기 (0) | 2021.02.10 |
| [Swift] 문자열에서 특정 문자 제거하거나 치환하기 (0) | 2021.02.10 |
| [Swift] 문자열이나 배열에 특정 문자가 포함돼있는지 확인하기 (0) | 2021.02.09 |
| [Swift] init(repeating:count:) 사용하기 (0) | 2021.02.03 |