Swift String, Character 살펴 보기

The Swift Programming Language (Swift 5.1) 에서 Strings and Characters 에서 중요하다고 생각되는 부분을 정리합니다.

public struct String {
}

public struct Character {
}

– String, Character는 구조체이다
– Character의 연속이 String이다
– String, Character는 구조체이기 때문에 값 타입이다

let char: Character = "\u{D55C}"
//Character에 유니코드 스칼라를 넣는다

let a: Character = "\u{1112}"
let b: Character = "\u{1161}"
let c: Character = "\u{11AB}"

(String(a)+String(b)+String(c)) == "\u{1112}\u{1161}\u{11AB}"   
// true
// Character는 + 연산자 사용할 수 없음, Character의 연속 = String

String.Index는 String에서 각각의 Character 위치를 나타낸다. String.Index도 구조체이다. 스트링 인덱싱은 각각의 Character마다 메모리에 저장되는 크기가 다르기 때문에 정수형으로 인덱싱 될 수 없고 String.Index라는 구조체로 표현한다.

let greeting = "Guten Tag!"
greeting[greeting.startIndex]   // G, String subscripts
greeting[greeting.index(before: greeting.endIndex)]  // !’
Substring & Index

let greeting = "Hello, world!"
let index = greeting.index(of: ",") ?? greeting.endIndex
let beginning = greeting[..<index]
let str = "한글😍🍭ab12"
str.count    //8, 스트링 길이 보다 각각의 Character 갯수라고 말하는게 맞다

let dogString = "Dog‼🐶"
UTF-8
UTF-16
Unicode Scalar

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다