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 | 31 |
Tags
- 동적언어
- 약타입언어
- 비반환함수
- 나를부르는숲
- 중첩함수
- 리액트네이티브
- beforePopState
- client-side-rendering
- JavaScript
- SWIFT
- 함수형프로그래밍
- next.js
- 17681
- lineending
- DelayInput
- reactnative android
- 옵셔널
- textinput
- multiline
- 프로그래머스
- reactnavigation
- switch구문
- 약타입
- replacingOccurrences
- 데이터타입함수
- ios
- 스위프트
- Server-Side-Rendering
- ReactNative
- 72410
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 |