Swift 문자열 편집

Hisop·2022년 10월 18일
0

Swift

목록 보기
4/7

스위프트는 C와 다르게 String이라는 타입으로 문자열을 관리하고, Character 타입으로 문자를 관리한다.

나는 C와 C++을 거치면서 문자열은 단순히 문자들의 집합이며 연속되는 메모리 공간을 가지는 것으로 인지하고 int형의 index로 접근/편집해왔다.
스위프트도 대부분의 특성은 다른 언어들과 일치하나 Character 타입이 무엇을 가르키는지가 다르다.
스위프트의 Character타입은 고정된 크기가 아니라 1개 이상의 유니코드로 이루어져 있기에 크기가 가변적이고 이에 따라 String은 하나의 값에 다양한 뷰를 가지고 있다.

기존에 내가 사용하던 int로 컨트롤하는 index문법은 사용할 수 없다.
앞으로 주로 사용할 String에 포함된 메서드들을 정리하려고 한다.

  • 지속적으로 추가해서 수정할것!

count

배열에도 쓰였던 문법으로 문자열 내의 문자 수를 세어준다. String.count 형태로 사용한다

insert / remove

.insert( , at:) 해당 위치에 삽입
.insert(contentOf: , at:) 해당 위치에 삽입
.remove(at:) 특정 위치 제거
.remove(:) 특정 위치 제거

Index

.startIndex - 문자열의 첫 인덱스
.endIndex - 문자열의 끝 인덱스 다음 인덱스 (단독 접근 불가능)
.index(before:) - 이전 인덱스
.index(after:) - 다음 인덱스
.index(:offsetBy) - 부터 offsetBy번째 인덱스

append

.append - 문자열 연결
.appending - 문자열 연결, 새 문자열을 만들어 리턴한다.

contains

func contains(_ element: Character) -> Bool

문자 혹은 문자열이 있는지 확인하여 Bool을 리턴한다

replace

.replaceSubrange - (range, with: 교체할 String)
.replaceCharacters - 위와 같은 용도로 쓰이나 in: range 형식으로 써야한다.
.replacingOccurrences -

func replacingOccurrences(of target: String, with replacement: String) -> String

문자열 변경에 쓰인다. of에 찾고자 하는 문자열, with에 변경하고자 하는 문자열을 전달한다.
3번째 인자로 옵션 추가가 가능하다.
options: [.caseInsensitive] - 대소문자 구분x

uppercased / lowercased

.uppercased() - 대
.lowercased() - 소문자로 변경한 후 사본 리턴


참고 문서

The Swift Language Guide
Developer Documentation

profile
42seoul - C, C++ / YagomAcademy - Swift

0개의 댓글